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; // 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
Ir a la versión completa