Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   TADOStoredProc & DBLookupComboBox (https://www.clubdelphi.com/foros/showthread.php?t=25473)

TriLoCBA 23-09-2005 15:55:52

TADOStoredProc & DBLookupComboBox
 
Estoy realizando un formulario de carga y modificación de datos, en el cual se encuentran 6 DBLookupCombobox.

Cada uno toma los datos de un Stored Procedure propio.

En un comienzo, creí que debía asignar un TADOStoredProc y un TDataSource distintos a cada combo. Pero probé creandolos sobre las mismas variables ("sp1" y "ds1"...), y parece funcionar.

:confused: Mi duda es:

Esto es "estructuralmente" correcto en cuanto a la programación y a la asignación de recursos ??? o puede generarme problemas a futuro con la ocupación de memoria.
No se tampoco, si corresponde liberar o destruir las instancias creadas antes de reutilizarlas. O si hay forma de minimizar aun mas, el codigo total...

Desde ya agradezco vuestros conocimientos y consejos...

Un abrazo...

PD: Pongo un ejemplo con dos combos...
Código Delphi [-]
  
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, 
Controls, Forms,Dialogs, DBCtrls, DB, ADODB;
type
  TForm1 = class(TForm)
    conSQL: TADOConnection;
    DBcbo1: TDBLookupComboBox;
    DBcbo2: TDBLookupComboBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
  sp1:TADOStoredProc;
  ds1:TDataSource;
begin
  //Completa Combo1 con el Stored Procedure "SPcboNombres"
  with sp1 do begin
    sp1:=TADOStoredProc.Create(self);
    Connection:= conSQL;
    ProcedureName:= 'SPcboNombres';
    Active:= true;
  end;
  ds1:=TDataSource.Create(self);
  ds1.DataSet:= sp1;
  with DBcbo1 do begin
    ListSource:= ds1;
    ListField:= 'Texto';
    KeyField:= 'Valor';
  end;
  //Completa Combo2 con el Stored Procedure "SPcboOrigen"
  with sp1 do begin
    sp1:=TADOStoredProc.Create(self);
    Connection:= conSQL;
    ProcedureName:= 'SPcboOrigen';
    Active:= true;
  end;
  ds1:=TDataSource.Create(self);
  ds1.DataSet:= sp1;
  with DBcbo2 do begin
    ListSource:= ds1;
    ListField:= 'Texto';
    KeyField:= 'Valor';
  end;
end;
end.


La franja horaria es GMT +2. Ahora son las 00:49:20.

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