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)
-   -   consulta con TQuery (https://www.clubdelphi.com/foros/showthread.php?t=63639)

bastian 24-02-2009 14:08:48

consulta con TQuery
 
Ok estoy usando xp sp2, una BD mysql, che la verdad no se que version
de delphi pero tiene un icono de un casquito, cual es?:confused:
supongo que minimo deplhi 6 aunque todavia no tiene la pesta~na ADO
en fin... Pregunta:

Da lugar a errores que utilize en mismo TADOQuery para realizar varias
consultas?

Porque el codigo lo saque de un ejemplo Wiki de delphi,
realizo mi consulta select ... todo bien
luego hago un Clear y lo uso para, un select x ejem, y cuando le paso parametros, me dice que ese parametro no existe

Field XXX not found

Plis don't be mad I am a newbi

Neftali [Germán.Estévez] 24-02-2009 16:01:39

Pon el código que estás usando para los parámetros.
En Help/About tiernes la versión de Delphi que está utilizando.

ContraVeneno 24-02-2009 23:17:00

Sí es posible realizar muchas consultas con varios parámetros utilizando solo un TADOQuery. Seguramente te está faltando limpiar algo o algo de código mal colocado o mal utilizado. Si pudieras poner el código que estas utilizando, sería más fácil encontrar el error.

Respondiendo a tu pregunta: no, no da errores utilizar un mismo TADOQuery para varias consultas.

Mary Carmen G. 25-02-2009 01:13:46

Parametros
 
Debes de hacer algo parecido a esto para que esten bien tus parametros:

Consulta SQL Ejemplo:
Código:

     
Código Delphi [-]

      Query.SQL.Clear;
      //Agrega la consulta que ejecutará el query.
      Query.SQL.Add('Select  rtrim(id_elemento)id_elemento,
                                rtrim(nombre)nombre,'
);
      Query.SQL.Add('rtrim(id_tipo)id_tipo,rtrim(id_representacion)
                              id_representacion'
);
      Query.SQL.Add('from ELEMENTOS_PROCESO');
      Query.SQL.Add('where id_elemento=:id');
      Query.Parameters.ParamByName('id').datatype:=ftString;
      Query.Parameters.ParamByName('id').value:=IdElemento;
      Query.Active:=false;
      //Se ejecuta la consulta
      Query.Active:=true;


arturom 26-02-2009 17:33:31

Hola,
¿no seria más correcto (al menos es lo que yo hago) cerrar la consulta antes de modificar la propiedad SQL?

Yo no tengo problemas para usar la misma consulta con SQL distintos, solo usar el método Clear y modificar la propiedad SQL con el método Add

Saludos

ContraVeneno 26-02-2009 17:51:33

Cita:

Empezado por arturom (Mensaje 339440)
Hola,
¿no seria más correcto (al menos es lo que yo hago) cerrar la consulta antes de modificar la propiedad SQL?

Sí, eso es lo correcto
Código Delphi [-]
....
If active then close;
SQL.clear;
....

bastian 26-02-2009 17:59:51

Muchas gracias a todos, morderdor y especialemnte a Carmen to muestra es muy util, tenian razon no realizaba del close y
mi error era que, bueno mi consulta es un select, y me olvide decirle al TQuery
Open():p


La franja horaria es GMT +2. Ahora son las 04:20:26.

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