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)
-   -   En TADOQuery, con SELECT en algunas columnas da error. Me pide las otras (https://www.clubdelphi.com/foros/showthread.php?t=44899)

Wonni 18-06-2007 00:07:03

En TADOQuery, con SELECT en algunas columnas da error. Me pide las otras
 
hola de nuevo;

Tengo un TADOQuery donde si hago un SELECT * no hay problemas. Pero al cambiar la consulta por "SELECT ID, COD_ARTICU, DESCRIPIO", es decir, solo unas determinadas columnas, entonces me da error. El error que muestra es que no se encotró la primera del resto de columnas que no meto en el SELECT. Si la añado, pues la siguiente...y asi.

Esto no me ocurria con los TQuery en Paradox-Dbase.

marcoszorrilla 18-06-2007 07:00:29

Probablemente se te olvidó borrar por código la Consulta anterior?

Código SQL [-]
TAdoQuery1.Close;
TAdoQuery1.Sql.Clear;

.......

Un Saludo.

Héctor Randolph 18-06-2007 07:19:14

Es probable que anteriormente hayas incluido todos los campos en la lista de campos persistentes y por eso ahora los marca como requeridos.

Da un clic con el botón secundario sobre el componente TADOQuery y selecciona Fields Editor, asegurate de que solamente aparezcan los campos que vas a utilizar.

Saludos

Wonni 18-06-2007 12:11:04

Gracias por responder;

Es que estoy realizando unas pruebas para comparar el acceso a .dbf .db y .mdb.

Tengo una tabla de articulos en .dbf que contiene 14.000 registros. De esta tabla copio todos los registros(si no estan ya)a la .mdb para las pruebas. Y para copiarla utilicé un TAdoQuery en el cual debia de tener todas las columnas. Y ahí estaba el fallo, por que este mismo TAdoQuery es que el utilizaba despues para filtrar de diferentes maneras.

Ahora utilizo uno para la copia de una tabla a otra y otro para las pruebas de SELECT.

Pero quiero comentar que me estoy sorprendiendo un poco, ya que veo que el acceso a .dbf con BDE es mas rapido que el acceso a .mdb con ADO :confused:

La .mdb la he compactado y dividido(opcion en Office 2007).

Otra cosa: En las pruebas de acceso(en milisegundos) a .dbf con TQuery y TTable resultó mas rapido TTable con todas las columnas.

No se, no se :confused:

JerS 18-06-2007 14:46:57

Que tipos de datos estas tratando de obtener cuando haces la consulta??

Wonni 18-06-2007 15:08:57

Cita:

Empezado por JerS
Que tipos de datos estas tratando de obtener cuando haces la consulta??

En la consulta donde solo recupero 3 columnas, estas son: Codigo(Incremento), Descripcion(Alfanumerico(35) y Pvp(Numerico Dec).

En la consulta donde recupero todo, pues son 24 columnas (Integers, Date, Boolean, Alfanumerico)

marcoszorrilla 18-06-2007 15:23:34

Puedes utilizar la misma consulta para las dos cosas, lo que ocurre es que en este caso no debes de tener campos persistentes.

Código Delphi [-]
El acceso a datos es del tipo:

Mivariable:=TAdoquery.Fields[0].AsString;
Mivariable:=TAdoquery.Fields[0].AsInteger;
Mivariable:=TAdoquery.Fields[0].AsBoolean;
Mivariable:=TAdoquery.Fields[0].AsFloat;


Un Saludo.


La franja horaria es GMT +2. Ahora son las 13:35:57.

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