AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Nach Insert AutoInc-Wert lesen

Nach Insert AutoInc-Wert lesen

Offene Frage von "KPBecker"
Ein Thema von KPBecker · begonnen am 2. Nov 2007 · letzter Beitrag vom 4. Nov 2007
Antwort Antwort
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#1

Nach Insert AutoInc-Wert lesen

  Alt 2. Nov 2007, 11:22
Datenbank: Access, MS-SQL • Zugriff über: Jet-Engine, ODBC
Hallo, Delphi-Praktiker,

ich schreibe Datensätze in eine Tabelle, die ein AutoInc-Feld als Primary-Key enthält.
Nach dem Schreiben eines Satzes möchte ich den dabei erzeugten PK bekommen.

Frage:
Muß ich dazu den Satz wieder lesen (über einen anderen eindeutigen Schlüssel) oder gibt es weniger (zeit-) aufwendige Möglichkeiten ?

Man könnte ja z.B. nach max(PK) suchen, aber durch einen dummen Zufall schreiben viellecht zwei Anwendungen praktisch gleichzeitig ...

DB: zur Zeit Access (Jet-Engine), soll aber auch mit MS-SQL, MySQL und Oracle über ODBC funktionieren.

Beste Grüße
Klaus-Peter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.802 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Nach Insert AutoInc-Wert lesen

  Alt 2. Nov 2007, 11:35
Bei Oracle ist das kein Problem, da hier Sequenzen unterstützt werden, für MSSQL gibt es hier im Forum eine Lösung, die diesen Mechanismus nachbildet.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Nach Insert AutoInc-Wert lesen

  Alt 4. Nov 2007, 10:49
Du kannst nach dem Posten ein schlichtes
Select @@identity aufrufen, um den letzten, für deine Transaktion gültigen, AutoInc Wert auszulesen.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: Nach Insert AutoInc-Wert lesen

  Alt 4. Nov 2007, 11:39
Gibts bei den Steuerungskomponenten nicht eine LastAutoIncVal-Eigenschaft? Zumindest bei TQuery und seinen Nachfahren.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Nach Insert AutoInc-Wert lesen

  Alt 4. Nov 2007, 12:33
Wenn Du mit ADO auf MSSQL zugreifst, dann macht das die TADOTable nach einem .Append / .Post automatisch. Der Feldtyp ist 'TAutoIncValue' und die Eigenschaft, die das steuert, ist ... warte ...*nachguck* ... "AutoGenerateValue". Allerdings ist die Hilfestellung irreführend, denn bei meinem MSSQL funktioniert alles, obwohl 'AutoGenerateValue' auf arNone steht...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf