[Lazarus-es] Trabajar tablas con Base de datos

Maikel Enrique Pernía Matos reprepoli2mz en infomed.sld.cu
Sab Ago 4 15:25:02 CEST 2012


Hola esta es la relación que he utilizado en mis proyectos:
<code>
{
  Ejemplo para MySQL, en este caso:
  SQLQuery1,Datasource1, DBGrid1  gestionan tabla cleintes
  SQLQuery2,Datasource2, DBGrid2  gestionan tabla inventario
}

procedure ConectarBD();
begin
    with MySQL50Connection1 do begin
       DatabaseName:='prueba';
       HostName := 'localhost';
       Password:='root';
       UserName:='root';
    end;
    SQLTransaction1.DataBase:= MySQL50Connection1;
    with SQLQuery1 do begin
      Transaction := SQLTransaction1;
      SQL.Add('SELECT * FROM clientes');
    end;

    Datasource1.DataSet := SQLQuery1;
    DBGrid1.DataSource := Datasource1;

    SQLQuery2.Transaction := SQLTransaction1;
    SQLQuery2.SQL.Strings[2] := 'SELECT compra FROM inventario WHERE ';
    Datasource2.DataSet := SQLQuery2;
    DBGrid2.DataSource := Datasource2;

    MySQL50Connection1.Open;
    SQLQuery1.Open;
end;
// Para cambiar los datos en el grid de
// inventario podría ser esta una alternativa.
procedure TForm1.Datasource1DataChange(Sender: TObject; Field: TField);
begin
    with SQLQuery2 do begin
       Close;
       SQL.Strings[2] := 'id_clientes = ' +
                         SQLQuery1.FieldByName('id_clientes').AsString;
       Open;
    end;
end;
</code>

espero que este ejemplo aunque con mysql te sirva.
saludos
"admin foro" <forobtf4 en gmail.com> escribió:

> Buenas, en mi formulario estoy trabajando con zeos, coloque un query un
> conection, y de data acces coloque un datasource, cree una base de datos
> con las tablas clientes,inventario.
>
> Lo que no encuentro como hacer es colocar los datos de cada tabla en
> diferentes grid.
>
> O sea dos grib la primera para la tabla clientes y la segunda para los
> inventarios.
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


--

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/




More information about the Lazarus-es mailing list