![]() |
Problema con ADOQuery
Tengo un formulario y TDBEdit con un dato y quiero pasarlo (el dato que contiene el TDBEdit) a la consulta SQL del ADOQuery como lo hago?
|
Cita:
mi no entender.... lo quieres pasar a otro AdoQuery...?
Salu2:p:cool: |
Gracias por responder:
La cosa va así, en mi formulario tengo un dato dentro un TDBEdit, este dato es recogido de un formulario anterior. ahora quiero que este dato en cuestión pase a formar parte de la consulta dentro del ADOQuery, osea que por ejemplo si el dato contenido en el TDBEdit es "funcionario1", esto vaya como variable a la consulta, para que en un dbgrid me salgan los datos del "funcionario1" y si del anterior formulario pasa el "funcionario2", etc. mi consulta dentro el ADOQuery va así y por supuesto no funciona: select * from INFORMES where FUNCIONARIO = :TDBEdit1.text; ví algunas alternativas en algunos sitios, pero no funcionan. yo trabajo en Delphi XE Agradezco a los que se toman la molestia de responder. |
Pues puedes probar usando parámetros como te han comentado o concatenar los strings:
El QuotedStr es para que se añadan las comillas al texto. |
Gracias Neftali:
lo puse así. ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select * From INFORMES Where FUNCIONARIO=' + QoutedStr(TDBEdit1.Text)); ADOQuery1.Open; me sale este mensaje: Instrucción no válida; se esperaba 'DELETE','INSERT','PROCEDURE','SELECT' o 'UPDATE' de verdad gracias a todos los que me estan prestando ayuda... |
Pues la verdad es que si FUNCIONARIO es un campo de tipo texto deberiá funcionar. :confused::confused:
¿Qué base de Datos estás utilizando? Supongo que el Quoted lo has corregido, porque en mi primer mensaje lo escribí mal.
|
Si Neftali, lo corregi por si acaso y me salio el dato ke te digo, y estoy usando una bd de access.
pero no se ke estoy haciendo mal mmm, parece algo simple pues el valor si esta en el TDBEdit del formulario. Cuando hago la consulta "manual" dentro del ADOQuery es decir: Select * From INFORMES Where FUNCIONARIO='funcionario1'; me devuelve en el tdbgrid los datos correctamente del "funcionario1" claro a traves del datasource. porfa alguna ayudita más y gracias mil. |
Hola damser
podrias indicar lo siguiente... para descartar El TDBEdit que utilizas a que esta vinculado? Estará vinculado al mismo datasource que esta vinculado al AdoQuery1si es así, cuando realizas la sentencia en el ADOQUery1, estas limpiando o cambiando el dato que tienes en el TDBEdit.... A lo mejor es otra cosa, Salu2:p:cool: |
MMM...
Pues si el TDBEdit está vinculado al mismo datasource que el ADOQuery ??? aprecio su tiempo se los digo nuevamente. |
TRata de utilizarlo de la siguiente manera:
ADOQuery1.SQL.TExt :='Select * From INFORMES Where FUNCIONARIO=' + QuotedStr(TDBEdit1.Text); Talvez funcione!! Saludos |
Cita:
Coloca un TEdit normal y corriente y prueba con la sentencia:
El problema es que al estar ligado el TDBEdit al mismo Dataset que el Query es posible que te esté provocando problemas (por ejemplo, que te esté cambiando el estado del Dataset) |
Pues ahora lo puse y me sale que la función QuotedStr no esta definida en la expresión la puse así:
Select * From INFORMES Where FUNCIONARIO= + QuotedStr(TEdit1.Text); pues al ponerla asi: ADOQuery1.SQL.Add('Select * From INFORMES Where FUNCIONARIO=' + QuotedStr(TEdit1.Text)); me sale el mensaje: Instrucción no válida; se esperaba 'DELETE','INSERT','PROCEDURE','SELECT' o 'UPDATE' Help Me Please!! |
| La franja horaria es GMT +2. Ahora son las 01:35:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi