Einzelnen Beitrag anzeigen

Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#1

Datensatz kopieren - Primärschlüssel will nicht

  Alt 18. Mär 2005, 13:54
Datenbank: Interbase • Zugriff über: Client/Server
Hallo!
Ich hab folgendes Problem mir meiner kleinen Anwendung:
Und zwar möchte ich gerne einen Datensatz innerhalb einer Tabelle kopieren. Habe mich auch an die Anlietung aus der Library gehalten (Link).
Das siehr bei mir so aus:
Delphi-Quellcode:
PROCEDURE DuplicateCurrentRecord(aDataSet: TDataSet);
VAR
  Data: ARRAY OF variant;
  aRecord: ARRAY OF TVarRec;
  i: integer;
  max: integer;
  anzahl: integer;
BEGIN
  max := aDataSet.fields.count - 1;
  SetLength(arecord, max + 1);
  SetLength(data, max + 1);

  FOR i := 0 TO max DO BEGIN
    arecord[i].VType := vtVariant;
    arecord[i].VVariant := @data[i];
  END;

 FOR i := 0 TO max DO
    Data[i] := aDataSet.fields[i].value;
  aDataSet.Append;
  aDataSet.SetFields(aRecord);

END;
Aufgerufen wird das ganze wie folgt:
Delphi-Quellcode:
PROCEDURE TLagerForm.Button1Click(Sender: TObject);
VAR
  anzahl: integer;
BEGIN
  DuplicateCurrentRecord(Lagerquery);
  Lagerquery.Post
END;
Habe die Anleitung aus der Library genaustens befolgt, habe auch schon versucht, die Anzahl der Datensätze auslesen zu lassen und dann diesen Wert (erhöht um 1) dem Primärschlüssel zuordnen zu lassen. Das hat auch nicht funktioniert. Genausowenig hab ich durch googlen etwas gefunden.
Wißt ihr einen Lösung des Problems?
MfG,
Overburn
  Mit Zitat antworten Zitat