Announcement

Collapse
No announcement yet.

Wie kann ich feststellen,ob eine Datenbank schon geöffnet wurde

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie kann ich feststellen,ob eine Datenbank schon geöffnet wurde

    Hallo Mitgeplagte :-)) Ich bin ein alter Joe Clipperhead und mußte auch mal umstellen auf Windows :-( Also ran an Delphi,Paradox Dateien und BDE :-(( .Ich habe dann eine Anwendung geschrieben,die eigentlich löppt wie'n Dopp :-)).Die Datenbanken liegen auf einem Novell-Server während das Executefile auf den Clients läuft.Soweit sogut!Eigentlich läuft's recht ordentlich.Nun habe ich folgendes Problem:
    Da gibts eine Datenbank,welche nur von einem Anwender zum Lesen und Schreiben freigegeben ist.Der Rest darf nur lesen.Im KLartext,wer zuerst öffnet,der darf Schreiben und Lesen,jeder nachfolgende Benutzer darf nur Lesen.In Clipper war das kein Problem.In Delphi mit der BDE hab ich keinen Schnall,wie ich das hinkriegen soll.Ich will vor dem Öffnen der Datenbank abfragen,ob diese schon geöffnet ist ( aber wie ? ).Wenn nein,öffnen im Schreib/Lese Modus.Wenn ja, öffnen im nur Lesemodus.Kann mir jemand helfen ? Ich krieg echt 'ne Kriese hier....Büddääähhh... :-((

    Jürgen

  • #2
    Hallo Jürgen,

    so habe ich es gelöst:
    <PRE>
    try
    dbtaSerNr.Exclusive:=true;
    dbtaSerNr.Open;
    bOpen:=dbtaSerNr.Active;
    except
    if dbtaSerNr.Active then dbtaSerNr.Close;
    dbtaSerNr.Exclusive:=false;
    end;
    und mit der Erkenntnis aus bOpen weiterarbeiten
    </PRE>

    Ich hoffe es hilft

    Gruß Ger

    Comment


    • #3
      Hallo Jürgen,

      so habe ich es gelöst:
      <pre>
      try
      dbtaSerNr.Exclusive:=true;
      dbtaSerNr.Open;
      finally
      bOpened:=not dbtaSerNr.Active; // lässt sich nur öffnen, wenn noch keiner drin ist
      if dbtaSerNr.Active then dbtaSerNr.Close;
      dbtaSerNr.Exclusive:=false;
      end;
      </pre>
      und mit der Erkenntnis aus bOpened weiterarbeiten

      Ich hoffe es hilft

      Gruß Ger

      Comment


      • #4
        Hi Gerd,ich danke Dir für deine Mühe.Ich werde mir diese Routine mal
        verinnerlichen und damit mal experimentieren.
        Nochmal,herzlichen Dank.Wenn's klappt,dann geb ich Nachricht :-))

        Jürge

        Comment


        • #5
          Hi Gerd!Nochmals thx.Es hat geklappt.War zwar 'n bisschen experimentieren dabei,aber es ging :-)))

          Gruss Jürge

          Comment

          Working...
          X