Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2011
damser damser is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 8
Poder: 0
damser Va por buen camino
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?

Última edición por damser fecha: 23-02-2011 a las 17:11:04.
Responder Con Cita
  #2  
Antiguo 23-02-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por damser Ver Mensaje
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?

mi no entender....

lo quieres pasar a otro AdoQuery...?


Código Delphi [-]
AQ_Persona.Close;
AQ_Persona.SQL.Clear;
AQ_Persona.SQL.Add('Select * From Vista_Persona');
AQ_Persona.SQL.Add('Where Nombre=:var1');
AQ_Persona.Parameters[0].Value := ADO_Query1['Nombre_Campo_Editado'];
AQ_Persona.Open;


Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 23-02-2011
damser damser is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 8
Poder: 0
damser Va por buen camino
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.

Última edición por damser fecha: 23-02-2011 a las 19:40:21.
Responder Con Cita
  #4  
Antiguo 24-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues puedes probar usando parámetros como te han comentado o concatenar los strings:

Código Delphi [-]
AQ_Persona.Close; 
AQ_Persona.SQL.Clear; 
AQ_Persona.SQL.Add('Select * From Vista_Persona Where Nombre=' +
   QoutedStr(Edit1.Text)); 
AQ_Persona.Open;

El QuotedStr es para que se añadan las comillas al texto.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 24-02-2011
damser damser is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 8
Poder: 0
damser Va por buen camino
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...

Responder Con Cita
  #6  
Antiguo 24-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues la verdad es que si FUNCIONARIO es un campo de tipo texto deberiá funcionar.
¿Qué base de Datos estás utilizando?

Supongo que el Quoted lo has corregido, porque en mi primer mensaje lo escribí mal.

Código Delphi [-]
ADOQuery1.SQL.Add('Select * From INFORMES Where FUNCIONARIO=' +  QuotedStr(TDBEdit1.Text));
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 24-02-2011
damser damser is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 8
Poder: 0
damser Va por buen camino
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.
Responder Con Cita
  #8  
Antiguo 24-02-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
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 AdoQuery1
si 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
__________________
BlueSteel
Responder Con Cita
  #9  
Antiguo 24-02-2011
damser damser is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 8
Poder: 0
damser Va por buen camino
MMM...
Pues si el TDBEdit está vinculado al mismo datasource que el ADOQuery
???
aprecio su tiempo se los digo nuevamente.
Responder Con Cita
  #10  
Antiguo 25-02-2011
guv guv is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 2
Poder: 0
guv Va por buen camino
TRata de utilizarlo de la siguiente manera:

ADOQuery1.SQL.TExt :='Select * From INFORMES Where FUNCIONARIO=' + QuotedStr(TDBEdit1.Text);

Talvez funcione!!

Saludos
Responder Con Cita
  #11  
Antiguo 25-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por damser Ver Mensaje
Pues si el TDBEdit está vinculado al mismo datasource que el ADOQuery
???
Sólo para probar.
Coloca un TEdit normal y corriente y prueba con la sentencia:

Código Delphi [-]
ADOQuery1.SQL.Add('Select * From INFORMES Where FUNCIONARIO=' +  QuotedStr(TEdit1.Text));

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)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 28-02-2011
damser damser is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 8
Poder: 0
damser Va por buen camino
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!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema al filtrar adoquery Van_Falen Conexión con bases de datos 2 08-01-2008 20:44:09
Problema con AdoQuery marylobita Conexión con bases de datos 3 04-05-2006 19:17:54
Problema ADOQuery con INTO Table o INTO CURSOR reynaldo Tablas planas 0 26-04-2006 17:17:26
Problema con ADOQuery Sr.Scorpion Conexión con bases de datos 8 17-04-2005 20:53:02
Problema ADOQuery GIVO Providers 1 29-08-2003 17:30:58


La franja horaria es GMT +2. Ahora son las 10:41:29.


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
Copyright 1996-2007 Club Delphi