Programación General > Delphi

 Ayuda Con Delphi Mysql O Sql

(1/1)

d0Pe:
hola que tal a todos, de vuelta aqui,

bueno lo que quisiera preguntarles es como puedo hacer una consulta de sql en delphi, bueno ya tengo la base de datos ya esta ligada con delphi mediante el uso de el uso de un adoconnection, un adoquery y un data source, ademas de un data grid, lo que pasa es que quiero hacer una consulta pero que esta consulta se realice desde una caja de texto, es decir, que mediante un edit se pueda buscar lo que se solicite, algo como esto

select * from ventas where numarticulo = 22

pero que en lugar del 22 sea lo que esta escrito en la caja de texto

select * from ventas where numarticulo = edit2.text

o algo por el estilo,


agraddezco su comprension

sheng63:
Te recomiendo que uses un componete TQuery

Lo enlasas con tu base de datos y en la proipiedad SQL le pones:


--- Código: Text ---select * from ventas where numarticulo = :NUM 
Donde :NUM es el parametro, luego en un TButton  colocas:


--- Código: Text --- Query1.ParamByName('NUM').asInteger := StrToInt(Edit1.Text) 
teniendo en cuenta que el TQuery se llama Query1 y el TEdit es Edit1

despues abres el TQuery con  Query1.Open;

Para cambiar el valor del parametro, primero tienenes que cerrar tu query y despues cambiar su valor, posteriormenmte lo abres y listo


Espero que te sirva.

CharlieWonka:
Dependiendo de lo que vayas a hacer , en mi caso no me gustan los dbgrid y hago algo asi


--- Código: Text --- procedure TForm1.Button1Click(Sender: TObject);var myVariable:Integer;    myQry:TADOQuery;begin    TryStrToInt(Edit1.Text,myVariable);    Try      myQry:=TADOQuery.Create(nil);      myQry.Connection:=myConnection;      myQry.SQL.Text:='select * from ventas where numarticulo = ' + Inttostr(myVariable);      myQry.Open;      while not myQry.Eof do      Begin        //recorreres el cursor y haces lo que tengas que hacer con el resultado          y voy llenando los datos en otro componente...digamos stringsgrid          variable:= myQry.FieldByName('nombre_campo').AsInteger;          variable2:= myQry.FieldByName('nombre_campo_2').AsString;          etc&#59;        //         myQry.Next;      End;    Finally      FreeAndNil(myQry);    End; end;  
Espero te sirva ...
Saludos
 ;)

loquillo3:
Podrias utilizar este codigo, recuerda que tienes que poner un edit y botton:


ADOQuery1.Close;
ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(' select id_documento,numero_doc, nombre, apellido, id_piso, id_destino,fecha_entrada,hora_entrada from visitantes where numero_doc='#39+edit2.Text+#39);

ADOQuery1.open;

if ADOQuery1.Eof then
begin
ShowMessage('Este Numero de Documento No existe');
edit1.Clear;
SetFocus;
end;


 :D  :D   :comp:

Navegación

[0] Índice de Mensajes

Ir a la versión completa