Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   TADOQuery y campos Memo (https://www.clubdelphi.com/foros/showthread.php?t=4709)

SnaKe 24-10-2003 15:23:08

TADOQuery y campos Memo
 
Hola,

Tengo una bd en access, uso delphi 6 y para conectarme utilizo los componentes ado. Toda la conexión funciona correctamente, el problema lo tengo al hacer una consulta sobre una tabla.

La tabla tiene dos campos: codigo (entero) y texto (memo), la sentencia sql es:

Código:

select * from mitabla where codigo =  @idcodigo
Tengo los campos creados de forma persistente en mi código pero me ocurre que cuando pongo:

Código:

MiQuery.Parameter[0].Value := idCodigo;
MiQuery.Open;
Memo1.Text := MiQueryTEXTO.AsString;
MiQuery.Close;

MiQuery es un TADOQuery

Solo me pone los 255 primeros caracteres!!!, la query sale bien pero solo tengo acceso a los 255 primeros caracteres, si en lugar de una query lo hago con una tabla y el método find me funciona bien:

Código:

MiTabla.Open;
MiTabla.Find("CODIGO",idCodigo,[]);
Memo1.Text := MiTablaTEXTO.AsString;
MiTabla.Close;

MiTabla es un TADOTable

Pero claro, la tabla es muy grande y cuando hago el open se trae todos los registros y tarda demasiado, es por ello que lo quería hacer con una consulta pero me encuentro con que solo me saca los 255 primeros caracteres.

Alguna sugerencia??? Gracias por adelantado

SnaKe 28-10-2003 10:25:47

¿A nadie le ha pasado esto? ¿alguna posible solución?

roman 28-10-2003 17:35:38

Cita:

Posteado originalmente por SnaKe
¿A nadie le ha pasado esto? ¿alguna posible solución?
Es que desde que vi tu mensaje hice la prueba con una base en access tal como la describes y no me presentó problemas.

¿Has intentado ver qué pasa con una base pequeñita de prueba, tan solo para ver si es un problema general o algo particular a la base en cuestión?

// Saludos

SnaKe 29-10-2003 09:15:07

Igual es por el ConnectionString del ADOConnection o algo así no se... la BD es de Access 97 y el ConnectionString que uso es el siguiente:

Código:

DB.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OD.Filename;
OD es un OpenDialog, lo uso para que el usuario pueda elegir BD.

Bien, ¿debería usar otro Provider? o en general ¿otro ConnectionString?.

Roman o alguien en general, si quereis os mando la BD por mail para ver si teneis solución.

La BD será access 97 fijo ya que serán ficheros que los usuarios se descarguen de internet.

Saludos.

SnaKe 29-10-2003 09:45:46

Bueno, pues ya no me pasa...

El ADOQuery había un select distinct(micampo), * from ....., quitando el distinct(micampo) ya me saca todos los datos pero el problema ahora es que hay registros duplicados (la bd está un pelín guarreada) y ni tiene PK ni nada, pensaba hacer un distintc sobre el campo que se supone que tenía que ser PK pero parece que no va a poder ser....

Saludetes y gracias a todos...


La franja horaria es GMT +2. Ahora son las 17:32:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi