Página 1 de 1

Problema con oDbcDataSet resuelto sober largo de los campos...

Publicado: Sab Nov 07, 2009 7:43 pm
por Carlos Ortiz
Hemos retocado la siguiente parte del código de Xailer oDBCDataSet.prg, en
realidad ToDBCDataSet por que al hacer los select en aquellos campos que en
el motor son superiores a 64 char los recortaba a ese tamaño, no se dónde se
pierde Xailer y le clava 64 cuando por ejemplo en el motor mide 100 de largo
o mas, lo resaltado mas abajo en rojo funciona bien, si tendrá algún otro
impacto? no lo sabemos, esperamos comentarios y si está ok se podría incluír
la corrección en la clase nativa de xailer.
Muchas gracias.
....
aStruct := {}
FOR nFor := 1 TO Len( aFields )
cField := ValidField( aFields[ nFor, SQL_INFO_NAME ], aStruct )
WITH OBJECT ::AddField( aFields[ nFor, SQL_INFO_NAME ] )
:cDisplayName := :cName
:cDbfName := cField
:cType := aFields[ nFor, SQL_INFO_TYPE ]
:nSQlType := aFields[ nFor, SQL_INFO_SQLTYPE ]
:nLen := aFields[ nFor, SQL_INFO_LEN ]
:nSQLLen := aFields[ nFor, SQL_INFO_SQLLEN ]
:nDec := aFields[ nFor, SQL_INFO_DEC ]
:nSQLDec := aFields[ nFor, SQL_INFO_SQLDEC ]
:lAllowsNull := aFields[ nFor, SQL_INFO_NULLABLE ]
// AAdd( aStruct, { cField, :cType, :nLen, :nDec } )
AAdd( aStruct, { cField, :cType, max(:nLen,:nSQLLen),
max(:nDec,:nSQLDec) } )
END WITH
NEXT
DbCreate(.....