LES sucede esto con ADO y access ??

Post Reply
jcaro
Posts: 270
Joined: Fri Nov 11, 2005 7:39 pm

LES sucede esto con ADO y access ??

Post by jcaro »

Hola Foro:

Aqui sigo dando la pelea con el ADO, tengo una gran duda.

No se si esto es asi o yo lo estoy haciendo mal.

1) Estoy usando un archivo access 2000 y tengo definido varios
campos alfanumericos ( texto ) de largo fijo de 40 caracteres por ejemplo.

2) El problema es cuando grabo un campo, donde solo se utilizo una parte
del largo, por ejemplo 15 letras. Al recuperarlo con un recordset y quiero
escribir y usar el especio restante, no se puede, el curso del get se queda pegado.

Esto es muy grave, pues hay procesos donde uno debe cambiar los datos.


3) Parece ser que el recordset devuelve solo lo grabado, no el largo
total del campo definido. El tipo de dato que devuelve es adVarChar.

Ocurre con otras BD como Mysql o es algo propio del ADO ??

Alguna idea de como solucionarlo ???

Saludos,

Juan
Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Si a mi tambien me ha pasado, yo utilizo DB2, por tanto no es exclusivo de Access.

Yo lo que hago es mover el registro que voy a editar a un buffer (en un arrray), y redimensiono _ que son de caracter. Edito el get sobre el buffer, y muevo el resultado al recordset.

Code: Select all

      for n = 1 to ::nFields
         ::aBuffer[ n ] = ::oRs:Fields(n-1):Value
         IF ValType(::aBuffer[n])=='C'
            ::aBuffer[n]:=PadR(Trim(::aBuffer[n]),::oRs:Fields(n-1):DefinedSize,' ')
         ENDIF
      next 
La manipulacion de registros la hago mediante una clase, un pseudo clon de tDatabase, aunque ya funciona, todavia la estoy depurando.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
jcaro
Posts: 270
Joined: Fri Nov 11, 2005 7:39 pm

Post by jcaro »

¡GRACIAS BIEL! voy a probar, luego te cuento.
saludos,
Juan
Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
Post Reply