Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie AutoInc-Feld bei In-place-editing (TDBGrid) handhaben (https://www.delphipraxis.net/167060-wie-autoinc-feld-bei-place-editing-tdbgrid-handhaben.html)

Meta777 11. Mär 2012 21:50

Datenbank: Firebired • Version: 2.5 • Zugriff über: IBX

Wie AutoInc-Feld bei In-place-editing (TDBGrid) handhaben
 
Hallo DPler,

ich hab ein Problem beim in-place editieren im DBGrid bei einer Master-Detail-Beziehung.
Wenn ich im Master-DBGrid (Tabelle heißt "Species") einen neuen Eintrag über den Inplace Editor anlege und im zweiten Grid (Tabelle heißt "Breed") einen neuen Datensatz anlege hab ich das Problem das der Wert des "ID"-Feldes des Master-Datasets "Species" noch nicht verfügbar ist.
Wie handhabe ich soetwas in Delphi 7?

Meine Versuch im Details bisher:

Als Dataset verwende ich TIBDataset, zur Anzeige das TDBGrid und bei den "ID"-Feldern beider Tabellen habe ich "AutoGenerateValue" auf "arAutoInc" (und bei "ProviderFlags" "pfInKey") gesetzt. Im OnBeforePost-Ereignis des Detail-Dataset versuche ich nun folgendes wobei "ibdsSpecies.FieldByName('ID').AsInteger" "0" ist:

Delphi-Quellcode:
procedure TPmEdit.ibdsBreedBeforePost(DataSet: TDataSet);
begin
  DataSet.FieldByName('SpeciesID').AsInteger :=
    ibdsSpecies.FieldByName('ID').AsInteger;
end;

Vielen Dank für eure Hilfe

dataspider 12. Mär 2012 06:06

AW: Wie AutoInc-Feld bei In-place-editing (TDBGrid) handhaben
 
Ich denke mal, dass du bei TIBQuery das GeneratorField zugeweisen solltest.

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:38 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