Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TClientDataSet.AppendRecord und AutoInc-Feld (https://www.delphipraxis.net/51795-tclientdataset-appendrecord-und-autoinc-feld.html)

Thanatos81 18. Aug 2005 22:20

Datenbank: XML • Version: 1.0 • Zugriff über: TClientDataSet

TClientDataSet.AppendRecord und AutoInc-Feld
 
So, ich hätt da gern noch mal ne Frage zum TClientDataSet(CDS) :-D

Es gibt da ja die schöne Prozedur AppendRecord. Da ich das doch etwas schöner finde, als Append aufzurufen und dann alle Felder einzeln mittels FieldByName oder Fields.Fields[nr] anzusprechen, wollte ich diese auch nutzen. Dafür hab ich mir folgende Anweisung zu Recht gebastelt:
Delphi-Quellcode:
dm.cdsDebiStamm.AppendRecord([nil,
                              valiNr.Value,
                              jveKRZ.Text,
                              jveAnrede.Text,
                              jveVorname.Text,
                              jveZuname.Text,
                              jvDEGebdatum.Date,
                              valiDienstNr.Value,
                              jveDienststelle.Text,
                              jveStrasse.Text,
                              plz,
                              jveOrt.Text,
                              jveTel.Text,
                              jveFax.Text,
                              jveMail.Text,
                              blz,
                              konto,
                              jvDEeintritt.Date,
                              jvDEAustritt.Date,
                              jvmFamile.Text,
                              jvmFamile.Lines.count,
                              jvmBemerk.Text,
                              jvmZusatz.Text]);
Das erste Feld in meiner Tabelle ist ein AutoInc, deswegen hatte ich erst versucht, dieses wegzulassen. Dann bekam ich aber ne Exception, da er versucht hat das Feld mit dem ersten Übergabe-Parameter zu füllen, und ab dem 3. Feld dann halt die Feldtypen nicht mehr stimmten. Also hab ich mir gedacht, ich versuchs mal, in dem ich nil übergebe.

Dann bekomm ich aber ne Fehlermeldung, die Datenmenge wäre weder im Einfüge- noch Editiermodus :wiejetzt:

Hat jemand ne Ahnung, wie ich diese Prozedur mit nem AutoInc nutzen muss?

MagicAndre1981 18. Aug 2005 22:35

Re: TClientDataSet.AppendRecord und AutoInc-Feld
 
Zitat:

Zitat von Thanatos81
Dann bekomm ich aber ne Fehlermeldung, die Datenmenge wäre weder im Einfüge- noch Editiermodus :wiejetzt:

Dann versetze das ClientDataSet mit Append in den Einfügemodus.

André

Thanatos81 18. Aug 2005 22:54

Re: TClientDataSet.AppendRecord und AutoInc-Feld
 
Das soll AppendRecord ja lt. OH selber machen. Und wenn ich den ersten Parameter fürs AutoInc frei lasse, fängter ja auch an, meckert "nur" das die Typen nicht stimmen ('t' ist kein gültiger Integer-Wert).

HiWieGehts 23. Aug 2005 20:23

Re: TClientDataSet.AppendRecord und AutoInc-Feld
 
Hallo,

an Datenfelder, in welche du keinen Wert eintragen willst, musst du null übergeben, nicht nil. Wenn dir das bei deinem Problem nicht weiterhilft, definiere dein AutoInc-Feld als letztes in der Tabelle.

Thanatos81 23. Aug 2005 21:25

Re: TClientDataSet.AppendRecord und AutoInc-Feld
 
Danke erstmal, werde ich morgen mal ausprobieren und dann Bescheid geben.

Thanatos81 24. Aug 2005 08:12

Re: TClientDataSet.AppendRecord und AutoInc-Feld
 
Funktioniert super, Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.

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