Einzelnen Beitrag anzeigen

PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#1

nächste Auftragsnummer ermitteln?

  Alt 13. Jul 2009, 14:25
Datenbank: ADS • Version: 9.10 • Zugriff über: ADO
Hallo allerseits,

ich möchte mit Delphi eine Schnittstelle zu einem Clipper/xBase-Programm schreiben. Diese Schnittstelle soll neue Aufträge zu den bestehenden Aufträgen erzeugen.

Beim Erzeugen einer neuen Auftragsnummer komme ich in einen Konflikt mit dem bisherigen Auftragsprogramm. Das Alt-Programm hat eine eigene Tabelle, in der die nächste zur Verfügung stehende Auftragsnummer gespeichert ist. Wenn das Alt-Programm einen neuen Auftrag schreibt, so sperrt es diesen Datensatz, liest das Feld 'Auftragsnummer', erhöht den Wert für Auftragsnr um +1, speichert den Datensatz und gibt ihn wieder frei.

Wie kann ich dies aber mit SQL abbilden, wenn ich vermeiden will, dass parallel das Alt-Programm auf diese Daten schreibt?

Dies sind zwei Arbeitsschritte, in denen das Alt-Programm genau dazwischen funken kann.
SQL-Code:
Select [auftragsnr] From Basis_Tabelle
// und //
Update Basis_Tabelle
Set [auftragsnr] = [auftragsnr] + 1
Hat jemand eine Idee?

Gruß,
Peter
  Mit Zitat antworten Zitat