Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   LastRowID wie auslesen? (https://www.delphipraxis.net/181577-lastrowid-wie-auslesen.html)

mkinzler 26. Nov 2020 08:48

AW: LastRowID wie auslesen?
 
Zitat:

Das Problem ist, dass ich die Datenstruktur nicht so einfach ändern kann, da mit einem alten Programm noch mindestens 7 Monate (parallel über den Datenbankserver) darauf zugegriffen werden muß ...
Das sollte grundsätzlich kein Problem sein. Ein weiteres Feld als PK deklarieren und dieses automatisch beim Insert per autoinc oder durch einen Trigger füllen lassen. Das bekommt das Programm dann nicht mit.

joachimd 26. Nov 2020 10:28

AW: LastRowID wie auslesen?
 
Zitat:

Zitat von UliTs (Beitrag 1477978)
(es handelt sich um den Advantage DataBase Server)

Mönsch, sag das doch gleich ... oben steht SQLite!?
Code:
qu.sql.text := 'insert into TableName( Name ) values( ''Müller'' );'+
               'select LastRowId() from system.iota;';
qu.open;
lastid := qu.fields[0].asstring;
qu.close;

UliTs 29. Nov 2020 22:01

AW: LastRowID wie auslesen?
 
Zitat:

Zitat von joachimd (Beitrag 1478003)
Zitat:

Zitat von UliTs (Beitrag 1477978)
(es handelt sich um den Advantage DataBase Server)

Mönsch, sag das doch gleich ...

Hallo Joachim,
Ja, aber Deine Lösung entspricht fast zu 100% der meinigen von Beitrag 20. Ich habe aber Firedac im Einsatz. Dabei benutze ich TDBNavigator in Verbindung mit TFDQuery und TDataSource zum Navigieren. Und wenn der User dabei auf speichern klickt, kann ich erst wieder beim afterPost-Ereignis eingreifen. Oder gibt es noch eine Lösung, wie ich z.B. die "Speicher-Query" anpassen kann?

Viele Grüße

Uli

joachimd 30. Nov 2020 18:52

AW: LastRowID wie auslesen?
 
Hi Uli,
Zitat:

Zitat von UliTs (Beitrag 1478163)
Ja, aber Deine Lösung entspricht fast zu 100% der meinigen von Beitrag 20. Ich habe aber Firedac im Einsatz. Dabei benutze ich TDBNavigator in Verbindung mit TFDQuery und TDataSource zum Navigieren. Und wenn der User dabei auf speichern klickt, kann ich erst wieder beim afterPost-Ereignis eingreifen. Oder gibt es noch eine Lösung, wie ich z.B. die "Speicher-Query" anpassen kann?

Sry, habe ich echt überlesen :(
Ich habe mit FireDAC nicht auf ADS zugegriffen, von daher kann ich die Frage nicht im Allgemeinen beantworten. Du könntest aber evtl eine Ableitung davon machen und den obigen Part hinzufügen. Soweit ich weiß, nutzte Dmitry damals nur pures SQL zum Schreiben der Treiber.

UliTs 1. Dez 2020 09:04

AW: LastRowID wie auslesen?
 
Macht nichts. :-D.

Ich habe leider noch nicht herausgefunden. Wie das TFDQuery.Post programmiert ist. In der Query steht ja "nur" eine select-Anweisung. Aber wie wird die Update oder Insert Anweisung von TDFQuery generiert? Ist der Quellcode dazu offengelegt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
Seite 3 von 3     123   

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