PDA

Visualizza la versione completa : dynamic dataset delphi


mary13
21-11-2002, 12:39
Ciao,
possibile creare un dataset dinamico in delphi 7?
Cio creare i campi e valorizzarli da codice?

Grazie

:confused:

alka
21-11-2002, 14:47
Cosa intendi per "valorizzare?

Intendi "creare dinamicamente una tabella tramite codice a runtime definendone il nome e i campi, nonch riempirli con i dati"?

Ciao! :ciauz:

mary13
21-11-2002, 14:52
esattamente!!!
:smack:

alka
21-11-2002, 15:19
Questo un esempio di codice tratto dalla Guida in linea di Delphi:



with Table1 do begin
Active := False;
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';

{ Don't overwrite an existing table }

if not Table1.Exists then begin
{ The Table component must not be active }
{ First, describe the type of table and give }
{ it a name }
{ Next, describe the fields in the table }
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;
{ Next, describe any indexes }
with IndexDefs do begin
Clear;
{ The 1st index has no name because it is
{ a Paradox primary key }
with AddIndexDef do begin
Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end;
{ Call the CreateTable method to create the table }
CreateTable;
end;
end;


Si tratta di definire il database di lavoro, il nome della tabella, aggiungere la struttura dei campi e le relative caratteristiche.

L'esempio riportato sopra relativo al BDE, cos come quello riportato qui sotto, sempre preso dalla Guida in linea, il quale mostra come accodare un record alla tabella, compilare i campi con un valore e salvare le modifiche.



procedure TForm1.Button1Click(Sender: TObject);
begin
SampleTable.Append;
SampleTable.FieldValues['ALPHANUMERIC'] := Edit1.text;
SampleTable.FieldValues['INTEGER'] := StrToInt(Edit2.text);
SampleTable.Post;
end;


Purtroppo non ho il tempo materiale di elaborare esempi pi estesi. :bh:

Ciao! :ciauz:

mary13
21-11-2002, 15:29
Grazie!!!

:smack: :smack: :smack: :smack: :smack: :smack:

Loading