![]() |
CDS AutoInc Problem
Hi, ich habe, wie die Überschrift auch zu erkennen gibt, ein Problem mit dem AutoInc vom ClientDataSet. Wenn ich jetzt eine Zeile löschen möchte klappt das auch nur rücken jetzt die Zeilen einfach auf sondern nach 1 kommt dann die 3. Damit ich mich nicht 100% auf die AutoInc Zeile verlassen kann möchte ich über das CDS die Zeilen zählen nur wenn ich das mache, bekomme ich eine total andere Zahl als ich Zeilen habe... Wie bekomme ich das hin das ich die Zeilen richtig zählen kann oder wie das mit dem AutoInc geht?
Danke Luki :) |
AW: CDS AutoInc Problem
Du verwechselst offenbar den Sinn eines AutoInc mit der Recordnummer. Ein AutoInc wird beim Anlegen eines neuen Datensatzes hochgezählt. Der Datensatz behält diesen AutoInc-Wert - darum ist das Feld auch im Normalfall Read-Only. Da dieser Wert unveränderbar ist, kann man ihn perfekt als Fremdschlüssel in anderen Tabellen verwenden.
Die Anzahl Datensätze kannst du über RecordCount ermitteln. |
AW: CDS AutoInc Problem
Ok Danke, wie könnte ich dann eine Zeile Suchen nach ihrer Zeilennummer? Weil
Delphi-Quellcode:
funktioniert ja nicht da ich die Spalte mit dem Autoinc gelöscht habe.
ClientDataSet1.Locate(...)
|
AW: CDS AutoInc Problem
Bei einem ClientDataSet kannst du die aktuelle Recordnummer aus dem Property
Delphi-Quellcode:
auslesen. Wenn du eine bestimmte Position anspringen willst, musst du
RecNo
Delphi-Quellcode:
einfach nur diesen Wert zuweisen.
RecNo
|
AW: CDS AutoInc Problem
Ok vielen Dank. Hat geklappt :-D:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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