Moin,
ich habe eine MyBase-Datenbank (binär), nun benörige ich aber zu jedem Datensatz zusätzliche Informationen (mehrere Strings, Integer, usw...)
Da ich die mehreren hundert Datensätze nicht manuell auslesen und in die neue Datenbank schreiben möchte, habe ich mir einen kleinen Konverter programmiert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
{ Übertrage Daten von ClientDataSet1 nach ClientDataSet 2 }
// Datensatz bei ClientDataSet2 hinzufügen
ClientDataSet2.Insert;
// Datensatz synchronisieren
ClientDataSet2.FieldByName('BEISPIEL').AsString := ClientDataSet1.FieldByName('TITEL').AsString;
[...]
// Initialisiere neue Datensatzfelder
ClientDataSet2.FieldByName('STATUS').AsString := '';
// Weiter
ClientDataSet1.Next;
end;
end;
Nun stehe ich aber vor dem Problem, dass die neue Datenbank nur 520 statt 521 Datensätze besitzt. Der letzte Datensatz wird also nicht übernommen.
Wo liegt mein Denkfehler ?
gruss
[Add]
Ich habs:
Nach dem letzten hinzufügen eines Datensatzes muss dieser mit "ClientDataSet2.Post" gespeichert werden, bei den vorherigen wird dies durch das hinzufügen eines neuen Datensatzes automatisch gemacht.