Amigos del foro:
Manejo ADS + xharbour y tengo una consulta asi :
El nombre del primer campo, resultado de la consulta, tiene 12 caracteres
Si este resultado lo manejo con TDataBase(), tira este error:
es porque en la clase TDataBase() se tiene este codigo
La funcion ( ::cAlias )->( FieldName( 1 ) ) retorna "autorizacio" una cadena de 11 digitos (ni 10, ni 12), por lo tanto el HASH de la clase TDataBase() falla.
Para corregir el problema se debe usar el metodo ::FieldName() de la misma clase, que usa el arreglo ::aStruct creado con ( ::cAlias )->( DbStruct() )
La pregunta: es error de xHarbour ???
Rolando
Cochabamba, Bolivia
Manejo ADS + xharbour y tengo una consulta asi :
SELECT nroautoriz autorizacion, nrofactura factura FROM ftcompraEl nombre del primer campo, resultado de la consulta, tiene 12 caracteres
Si este resultado lo manejo con TDataBase(), tira este error:
Error description: Error BASE/1004 Â Message not found: TDataBase:AUTORIZACIONes porque en la clase TDataBase() se tiene este codigo
   for n = 1 to ( ::cAlias )->( FCount() )
     cCol  := ( ::cAlias )->( FieldName( n ) ) //<- aca el ERRROR!!!
     AAdd( ::aFldNames, cCol )
#ifdef USE_HASH
     ::hFlds[ cCol ] := n
#endifLa funcion ( ::cAlias )->( FieldName( 1 ) ) retorna "autorizacio" una cadena de 11 digitos (ni 10, ni 12), por lo tanto el HASH de la clase TDataBase() falla.
Para corregir el problema se debe usar el metodo ::FieldName() de la misma clase, que usa el arreglo ::aStruct creado con ( ::cAlias )->( DbStruct() )
   for n = 1 to ( ::cAlias )->( FCount() )
     cCol  := ::FieldName( n ) //<- CORECCION!!!
     AAdd( ::aFldNames, cCol )
#ifdef USE_HASH
     ::hFlds[ cCol ] := n
#endifLa pregunta: es error de xHarbour ???
Rolando
Cochabamba, Bolivia