Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-07-2005
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Consulta basica

Hola a todos...

Estoy usando Delphi 7 y una base de datos de access...
Es la primera vez que realizo un programa con bases de datos y todas las cosas que he utilizado las he aprendido aqui, muchas gracias a todos por la ayuda... pero bueno, vamos al punto...
Es tambien la primera vez que utilizo un ADOQuery y estoy batallando para hacer una consulta muy sencilla, ya lei los hilos y no he sabido como hacerlo. Lo que necesito es obtener los registros que tengan un campo igual a lo que escriba en un edit, he tratado con lo siguiente...

Primeramente puse el siguiente texto en la propiedad SQL del Query:
Parameter Num Short;
Select * from Tabla
Where campo = :Num
Order by Fecha
Al dar click a un boton tengo el siguiente codigo:
ADOQuery1.Parameters.ParamValues[Num] := strtoint(Edit1.text);
ADOQuery1.Open;
La variable num la tengo declarada como local en el procedimiento OnClick de tipo string.

Yo se que es algo muy sencillo lo que pido, y que probablemnte todo lo que hice esta mal... primeramente hice una consulta para sacar todos los registros, sin el WHERE ni el PARAMETER, y queda muy bien, es algo muy sencillo, pero aqui me marca el siguiente error:

'ADOQuery1: Parameter "Not found"
Responder Con Cita
  #2  
Antiguo 01-07-2005
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Ya aprendi ;-)

Ya aprendi a hacerlo, lo hice de la siguiente manera:

Al dar click al boton puse el siguiente codigo:
ADOQuery1.Parameters.ParamValues['Num'] := strtoint(edit1.text);
ADOQuery1.Open;

La propiedad SQL del ADOQuery tiene el siguiente texto:
Select * from tabla
where camp = :Num
order by fecha
Responder Con Cita
  #3  
Antiguo 01-07-2005
m@kio m@kio is offline
Miembro
 
Registrado: may 2005
Posts: 42
Poder: 0
m@kio Va por buen camino
Tambien prodria ser asi..

Código SQL [-]
  Select * from tabla
     where camp = :Num
     order by fecha

Código Delphi [-]
  ADOQuery1.Parameters[0] := strtoint(edit1.text);
     ADOQuery1.Open;

Le indicas el indice del parametro dependiendo de cuantos uses.

Última edición por m@kio fecha: 01-07-2005 a las 22:26:15.
Responder Con Cita
  #4  
Antiguo 02-07-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

No olvidar también que el open se usa solo para los select, para los insert,delete y update hay que usar exec.

Saludos.

Aarón.
Responder Con Cita
  #5  
Antiguo 02-07-2005
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Gracias

Muchas gracias por sus tips, los voy a tener en cuenta, tengo mucho que aprender...
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


La franja horaria es GMT +2. Ahora son las 11:28:28.


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