Thema: Delphi Ado.Net Beispiele

Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Ado.Net Beispiele

  Alt 3. Nov 2004, 11:22
Nochmal:
Du füllst ein temporäres DS. Dann rufst du die Methode Merge von deinem "richtigen" DS auf. Dadurch werden nur die geänderten/neuen Datensätze aus dem temporären DS in dein "richtiges" DS übernommen. (genau dafür brauchst du den Primärschlüssel )

DataReader in einfach
Delphi-Quellcode:
var
  conn :[IrgendeinProviderPrefix]Connection;
  cmd :[IrgendeinProviderPrefix]Command;
  rdr :[IrgendeinProviderPrefix]Datareader;
  tbl :DataTable;
  Values :array of System.Object;
begin
  tbl := DeinDataSet.Tables[Index/Name deiner Tabelle];
  conn := [IrgendeinProviderPrefix]Connection.Create('"USER ID=User;Password=Password;Data source="datasource"');
 
  cmd := [IrgendeinProviderPrefix]Command.Create('SELECT FROM IrgendeineTabelle'
                                                 , conn);
  conn.Open();
  rdr := cmd.ExecuteReader(CommandBehaviour.CloseConnection);
  
  Values := Array.CreateInstance(typeof(System.Object)
                                ,rdr.FieldCount);
  while (rdr.Read())
  begin
    rdr.GetValues(Values);
    tbl.LoadDataRow(Values, false);
  end;
 
end;
Wenn es schnell gehen soll ist ein Dataset vollkommen fehl am Platz (Das Ding ist eine kleine DB im RAM -> viel zu aufwenidig ). Jede implementierung vin IList / ICollection sollte Databindingfähig sein. (Also auch jeder Nachfahre von CollectionBase oder ganz einfach: eine ArrayList )
  Mit Zitat antworten Zitat