Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism alle Relationen eines Dataset in entsprechende Datatables (https://www.delphipraxis.net/69502-alle-relationen-eines-dataset-entsprechende-datatables.html)

Bigeddie 16. Mai 2006 08:19

Datenbank: MSSQL • Version: 2000 • Zugriff über: OLEDBConnection

alle Relationen eines Dataset in entsprechende Datatables
 
Hi,

ich möchte alle Relationen die ich in einem Dataset definiert habe in entsprechende editierbare Datatables zusammenfassen um deren Inhalt später in einem Datagrid ausgeben lassen zu können, eventuelle Änderungen sollen später wieder in die entsprechenden Datatables des Dataset zurückgeschrieben werden. aber wie mache ich das?

Grüße

BIGEDDIE

alzaimar 16. Mai 2006 08:39

Re: alle Relationen eines Dataset in entsprechende Datatable
 
Wie definierst du 'Relationen in einem Dataset'?

Bigeddie 16. Mai 2006 09:07

Re: alle Relationen eines Dataset in entsprechende Datatable
 
z.B. so

Delphi-Quellcode:
  OleDbConnection1.Open;
  OleDbCommand1.CommandText := 'SELECT * FROM Table_2';
  parent.SelectCommand := OleDbCommand1;
  OleDbCommand2.CommandText := 'SELECT * FROM table1';
  child.SelectCommand:= OleDbCommand2;
  parent.Fill(DataSet1,'master');
  child.Fill(dataset1,'child');
  pkparent := dataset1.Tables['master'].Columns['tab1_id'];
  fkchild := dataset1.Tables['child'].Columns['id'];
  therelation := DataRelation.Create('rel', pkparent, fkchild, false);
  DataSet1.Relations.Add(therelation);
parent und child sind OLEDBDataadapter

alzaimar 16. Mai 2006 09:24

Re: alle Relationen eines Dataset in entsprechende Datatable
 
oha, da muss ich passen. Sieht aber interessant aus.

Ich verwende das TcxGrid von Developer-Express, das macht das von Hause aus. Ich geh mal davon aus, das Du die Master-Detail-Beziehung automatisch erstellen bzw. aufrecht erhalten möchtest. Unter Delphi verwendet man dazu z.B. die ADO-Komponenten und verwendet dann Events dafür, z.B. DetailDataSet.OnNewRecord. Und dort dann:

Delphi-Quellcode:
DetailDataset['MasterLink'] := MasterDataset['ID'];


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz