Autor Beitrag
delphimike
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 117



BeitragVerfasst: Sa 07.05.05 15:17 
Hallo

Ich möchte vor dem Öffnen einer Tabelle (BDE/Paradox) feststellen, ob diese von einem anderen Netzwerknutzer gerade gesperrt ist. Exceptions abzufangen ist zwar eine Möglichkeit aber für mich dirty programming.

Geht es nicht auch anders. Canmodify? Aber damit hatte ich noch keinen rechten Erfolg.

Ebenso wäre zu klären ob ein Datensatz frei oder anderweitig benutzt wird, damit ich eine retry Schleife darauf programmieren kann.
Lassen sich Datensätze auch per Lock sperren oder muß ich der Automatik der BDE vertrauen?

Gruß Mike
bockwurst
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Mo 09.05.05 11:17 
Hallo,
soviel ich weiß gibt es keine saubere Möglichkeit festzustellen, ob die BDE gerade einen bestimmen Datensatz/Tabelle gesperrt hat. Aber du hast trozdem zwei Möglichkeiten.

empfolen
1.) Bevor du etwas mit der Datenbank machst , macht du eine kleine Testroutine. In einem Try-Block setzt du die Datenbank auf exclusive und öffnet sie. Kommt eine Exception ist die Datenbank in Benutzung.

2) du überprüft das Verzeichnis nach Lck-Dateien. Dies ist aber kritscih wenn viele verschiedene Datenbanken enthalten sind.
delphimike Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 117



BeitragVerfasst: Mo 09.05.05 17:55 
danke für den Tip, ich habe es jetzt auch über die Exception gelöst, da gehts.