Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consultas en SQL de una tabla y mostrar en un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=36112)

Goyo 02-10-2006 20:27:08

Consultas en SQL de una tabla y mostrar en un dbgrid
 
Tengo mi tabla BitacoraVehiculos con los campos: NumeroVehiculo, FechadeServicio, ConceptoReparacion, ConceptoServicio, NumeroFactura, DiasdeComision, LitrosGasolina, importe, importeTotal

y quisiera realizar busquedas y que los resultados me los muestre en un dbgrid
, de hecho ya tengo el codigo pero con filtros y lo que quiero es cambiar a busquedas con SQL...
Los campos con los que quiero realizar consultas son: fechadeServicio tipo D, numerofactura tipo A, importe tipo N, Diasdecomision tipo A y NumeroVehiculo tipo A de longitud 3

para ello tengo unos RadioButton y si quiero buscar por algun de estos campos se activen la consulta solicitada y me muestre los resultados en un dbgrid

Código Delphi [-]
procedure TFrmBusquedasGenerales.SpeedButton1Click(Sender: TObject);
var consulta : string;
begin
if edit1.Text<>'' then
  begin
        if radiobutton1.Checked=true then
        DBGrid1.DataSource.DataSet.Filter:='fechadeservicio='+chr(39)+edit1.Text+chr(39)
   else if radiobutton2.Checked=true then
        DBGrid1.DataSource.DataSet.Filter:='numerofactura='+chr(39)+'FACT.N. '+edit1.Text+chr(39)
   else if radiobutton3.Checked=true then
        DBGrid1.DataSource.DataSet.Filter:='importe='+edit1.Text
   else if radiobutton4.Checked=true then
        DBGrid1.DataSource.DataSet.Filter:='diasdecomision='+chr(39)+edit1.Text+chr(39)
   else if radiobutton5.Checked=true then
   DBGrid1.DataSource.DataSet.Filter:='NumeroVehiculo='+edit1.Text;
   end
  else
  begin
  MessageDlg('RECUERDA: selecciona una opción'+chr(13)+'y escribe el dato correcto #€%&@ jejeje',mtError,[mbOk],0);
  end;
end;

disculpen pero aun soy nuevo en SQL

alastor 02-10-2006 21:17:24

Hola
---------
Podrias hacerlo con parametros. Por ejemplo, con un Querry; el SQL me quedaria asi:
Código SQL [-]
SELECT Campos FROM Tabla WHERE Campo1 = Var
Donde "Campos" son todos los campos que voy a mostrar, Tabla representa a la tabla:D, "Campo1" es el campo por el que quiero filtrar y "var" es una variable que al escribirla, delphi la toma como parametro, o sea que va a tener el criterio por el que va a filtrar.
Despues iras a la propiedad parameters y colocaras un valor inicial a cada parametro para que delphi pueda agregar los campos al Querry.

Cuando Vayas a hacer la busqueda pues colocas las sentencias de la siguiente manera:
Código Delphi [-]
Case RadioGroup1.Itemindex do
   0:begin
         Querry1.Parameters.ParamByName('Var').Value :='El valor por el que quiero buscar';
     end;
  ........
   END;
De esta manera le estoy diciendo que cuando en el radiogroup escoja el primer item, voy a buscar por el parametro Var que va a tener el valor que yo le ponga despues de los ":=" y asi puedes hacerle filtros a los demas campos.
_________________
Saludos y Suerte


La franja horaria es GMT +2. Ahora son las 14:47:18.

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