Thema: Delphi Auto-Insertwert abfragen

Einzelnen Beitrag anzeigen

Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#19

Re: Auto-Insertwert abfragen

  Alt 1. Okt 2008, 14:51
Zitat von nahpets:
Hallo,

Frage: Auch wenn Du die Abfrage im Management Studio machst?
Wenn da ein anderes Ergebnis kommt, als im Programm, geht Dir "unterwegs" der Scope verloren, was ich nicht ausschließen möchte.

Was liefert Dir denn select IDENT_CURRENT('Akten') as ID der holt wohl den höchsten vergebenen Wert zur ID-Spalte, der als Parameter übergebenen Tabelle.

Stephan
ich habe mir jetzt einen Workaround gebaut:


zunächst habe ich der Table ein Feld "neu" mit automatischen Inhalt 1 (nur 1, kein Increment) hinzugefügt. Obenauf einen Index drauf, damit die Suche ggfs. schneller geht.
Somit hat immer genau der neue Datensatz neu=1.
hier die Abfrage mit sofortiger Änderung neu=0;
Delphi-Quellcode:
function getaktennr : integer;
  var _stmp : string;
  _query : Tadoquery;
begin
  _stmp := 'select neu, Aktennr from Akten where neu=1';
  _query := Tadoquery.Create(nil);
  with _query do begin
    connection := mus_Service.ADOConnMUS;
    _query.sql.Text := _stmp;
    _query.open; open;
    if (not eof) then begin
      result := FieldByName('Aktennr').asinteger;
      edit;
      FieldValues['neu'] := 0;
      post;
    end else result := 0;
  end;
end;
Danke an alle, die geholfen haben - Mit diesem Workaround kann ich gut leben. Zumal dieses die einzige Stelle ist, an der der Datenbank neue Datensätze hinzugefügt werden.

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat