Datensatz sperren ?

A

Antimon

Hi,
ich möchte mit VB und MySQL ein kleines Erfassungsprogramm schreiben.
Mein Problem:
Ein Benutzer öffnet einen Datensatz in einem VB-Fenster und fängt an die Daten zu überarbeiten. Bis alle Daten überarbeitet sind vergehen ca. 5 Minuten. In der Zwischenzeit könnte ja ein anderer Benutzer genau den selben Datensatz zwecks Überarbeitung aufrufen. Wie kann ich das verhindern? Gibt einen Befehl zum Datensatz sperren oder muss ich mir eine Sperrtabelle anlegen und jedesmal prüfen, ob ein Datensatz bearbeitet wird? Oder wie geht das sonst?

Vielen Dank im voraus
Antimon
 
meine einzige idee, wie man das ohen extra table lösen könnte, wäre es, eine extra spalte anzulegen, so was wie (editing smallint)

immer wenn jemand einen datensatz editieren möchte wird geschaut, ob editing auf 1 steht.....
wenn aj gibts nen fehler, wenn net wird der kram auf 1 gesetzt und dan wird fröhlich editiert....
wird dann die editierung abgeschlossen, muss nur noch das editing auf 0 gesetzt werden.....

hierbei kann natürlich (wie bei der lösung mit der extra-tabel) das probelm auftreten, dass jemand etwas editieren wll , es am ende aber nicht tut, und dann am ende editing für immer und weig auf 1 stehen bleibt...
dafür müsste man dann noch ein dateline int-feld anlegen, ind dem die uhrzeit des beginnens des editiervorgangs reingeschrieben wird...
somit wird dann einem user, wenn eidting auf 1 steht, aber dateline vor 10 mins war, dann doch erlaubt zu editieren...

naja bei dem aufwand kann man sch gleich ne extra table anlegen....
naja obwohl es vielleicht doch praktischer wäre....hängt halt vom zusammenhang ab....

//hoffe das hat geholfen...

//bad taste
 

Neue Beiträge

Zurück