PDA

Ver la Versión Completa : Consulta basica


Albano
01-07-2005, 21:34:58
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"

Albano
01-07-2005, 22:02:51
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

m@kio
01-07-2005, 22:24:06
Select * from tabla
where camp = :Num
order by fecha



ADOQuery1.Parameters[0] := strtoint(edit1.text);
ADOQuery1.Open;


Le indicas el indice del parametro dependiendo de cuantos uses.

lucasarts_18
02-07-2005, 04:02:00
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.

Albano
02-07-2005, 08:24:49
Muchas gracias por sus tips, los voy a tener en cuenta, tengo mucho que aprender...