In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

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

Foro público de Xailer en español
User avatar
Carlos Ortiz
Posts: 846
Joined: Wed Jul 01, 2009 5:44 pm
Location: Argentina - Córdoba
Contact:

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

Postby Carlos Ortiz » Sat Nov 07, 2009 7:43 pm

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(.....
@dbfarma
www.dbfarma.com.ar

Return to “Spanish”