Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-02-2006
TriLoCBA TriLoCBA is offline
Miembro
 
Registrado: jun 2005
Posts: 28
Poder: 0
TriLoCBA Va por buen camino
Question Vincular dos DBGrids !!!

Estoy tratando de vincular dos DBGrid, haciendo que el primero (DBGrid1) muestre una lista de productos, y que el segundo (DBGrid2) muestre información sobre el producto (en el ejemplo el Stock del mismo).
Cada DBGrid se completa con un Stored Procedure SQL.
El SP del segundo DBGrid deberia ejecutarse cada vez que cambia el producto seleccionado en el primero...

Desde ya muchas gracias por vuestra ayuda.

Un abrazo.

Ej.
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  conSQL: TADOConnection;
  cadenaSQL: String;
  sp1:TADOStoredProc;
  sp2:TADOStoredProc;
  ds1:TDataSource;
  ds2:TDataSource;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  //Conexion al Servidor SQL...
  cadenaSQL:='Provider=SQLOLEDB.1;Password=MiPass;Persist Security Info=True;'+
          'User ID=MiUsuario;Initial Catalog=MiBase;Data Source=10.0.0.1;'+
          'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
          'Workstation ID=MiEstacion;Use Encryption for Data=False;'+
          'Tag with column collation when possible=False';

  conSQL:=TADOConnection.Create(self);
  conSQL.ConnectionString:= cadenaSQL;
  conSQL.LoginPrompt:=False;
  conSQL.Connected:= True;

  //Completa el listado de productos en DBGrid1...
  with sp1 do begin
    sp1:=TADOStoredProc.Create(self);
    Connection:= conSQL;
    ProcedureName:= 'spListaProductos';
    Parameters.Refresh;
    Active:= true;
  end;
  ds1:=TDataSource.Create(self);
  ds1.DataSet:= sp1;

  DBGrid1.DataSource:= ds1;

  //Muestra detalles de un producto especifico...
  with sp2 do begin
    sp2:= TADOStoredProc.Create(self);
    Connection:= conSQL;
    ProcedureName:= 'spStockProducto';
    Parameters.Refresh;
    Parameters.ParamByName('@Producto').Value:= ???; // Que pongo Aqui ???...
    Active:= true;
  end;
  ds2:=TDataSource.Create(self);
  ds2.DataSet:= sp2;

  DBGrid2.DataSource:= ds2;

end;
end.
Código:
/* Datos SQL para probar el ejemplo... */
CREATE TABLE tProductos (CodProducto INT,NomProducto VARCHAR(20))

INSERT INTO tProductos VALUES(1,'AZUCAR')
INSERT INTO tProductos VALUES(2,'MANTECA')
INSERT INTO tProductos VALUES(3,'LECHE')

CREATE TABLE tStockProducto (Producto INT, Edificio VARCHAR(10), Unidades INT)

INSERT INTO tStockProducto VALUES(1,'Deposito1',100)
INSERT INTO tStockProducto VALUES(1,'Deposito2',50)
INSERT INTO tStockProducto VALUES(1,'Deposito4',200)
INSERT INTO tStockProducto VALUES(2,'Deposito1',90)
INSERT INTO tStockProducto VALUES(2,'Deposito3',110)
INSERT INTO tStockProducto VALUES(3,'Deposito4',1000)

/* Lista de productos... (DBGrid2) */
CREATE PROCEDURE spListaProductos
AS
 SELECT NomProducto AS [Producto] 
 FROM tProductos
GO

/* Stock de un producto... (DBGrid2) */
CREATE PROCEDURE spStockProducto
@Producto INT
AS
 SELECT Edificio, Unidades
 FROM tStockProducto
 WHERE Producto = @Producto
GO
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Vincular archivos de texto en Sql Server 2000 senpiterno MS SQL Server 1 29-03-2005 09:48:28
Vincular a access una tabla interbase Giniromero Tablas planas 0 08-03-2005 16:17:09
Vincular Forms bustio .NET 1 11-10-2004 15:25:55
Vincular tablas dbf en msaccess dinámicamente desde delphi SLAKE Conexión con bases de datos 0 06-10-2004 18:22:16
Dbgrids con una imagen de fondo nesetru Varios 1 05-02-2004 07:56:35


La franja horaria es GMT +2. Ahora son las 18:33:41.


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
Copyright 1996-2007 Club Delphi