Zum Inhalt springen

Prüfen ob Datenbank geöffnet ist oder geschlossen


Floh-2001

Empfohlene Beiträge

Hallo

Ich arebite mit 2 Datenbanken und da Ich sie nicht jedesmal öffnen und schliessen möchte, wäre es gut wenn das Programm das automatisch ausführt. Ich suche eine Lösung wo er mir Prüft ob die Datenbank con.open() noch offen ist oder nicht und dann je nach dem die DBF schliesst bzw. öffnet.

z.b.

Wenn DBF offen

msgbox("DBF offen)

else

dbf open()

msgbox("dbf wurde geöffnet")

ende

wer kennt da eine lösung

Arbeite in vb8

Danke

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

sprechen wir hier von ADODB, OLEDB, ODBC?

sprechen wir bei DBF von foxpro, dbase?

im übrigen gilt aber das schon geschriebene: solange das mit open() geöffnete con nicht entweder mit close() geschlossen wurde, oder via null, nothing oder ähnlich zerstört wurde, und kein timeout von seiten des datenbankanbieters erfolgt, ist die verbindung offen.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Hinweise

Was ich suche ist ein IF Function die mir prüft ob die Datenbank geöffnet ist.

Ich schreibe ein Programm in VB8 wo Ich im Menue die Datenbank zuerst öffnen muss. Wenn Ich das nicht mache und zum Daten aufnehmen gehe bringt er mir eine Fehler Meldung das keine Datenbank geöffnet ist. Diese Fehlermeldung möchte Ich überspringen mit einer IF anweisung. Es handelt sich um eine Access Datenbank

if Datenbank close then

datenbank open oder direkt zum öffnen Form verweisen

else

programm ablauf

end if

Link zu diesem Kommentar
Auf anderen Seiten teilen

Keine Ahnung ob das mit VB funktioniert.

Aber in C# kannste so etwas machen:


try

{

     DeineDatenbankVariable.Open();

     MessageBox.Show("Datenbank wurde geöffnet!");

}

catch (Exception)

{                

     MessageBox.Show("Datenbank ist schon offen!");

}

Das "catch" fängt die Exception vom Code aus dem "try" ab und du kannst darauf reagieren.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Manchmal habe ich meine Gedanken irgendwie nicht bei mir. :upps

Also da ich meinen Beitrag nicht editieren kann muss ich das nu hier schreiben.

Benutz nicht die try und catch Variante! Das ist alles andere als eine gute Variante so etwas zu regeln.

Die Lösung hat die der Vorposter schon gegeben.

Hier:

Ist das nicht egal?!

Die Verbindungsklassen sind doch alle von System.Data.Common.DbConnection abgleitet und überschreiben somit DbConnection.State.

Und wenn connection == null (nothing) ist sie so und so nicht geöffnet.

Nu solltest du wissen was zu tun ist. ;)

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Keine Ahnung ob das mit VB funktioniert.

Aber in C# kannste so etwas machen:


try

{

     DeineDatenbankVariable.Open();

     MessageBox.Show("Datenbank wurde geöffnet!");

}

catch (Exception)

{                

     MessageBox.Show("Datenbank ist schon offen!");

}

Sowas geht zwar in C# (und VB), allerdings kannst du bei einer Exception nicht sagen, dass die Datenbank bereits geöffnet ist. Wenn du einen leeren/falschen Connectionstring angibst o.Ä. wird er auch ins catch springen, die Datenbank ist zu dem Zeitpunkt aber keines Wegs geöffnet.

(Nur so als Hinweis, aber hast ja selber geschrieben, dass es keine gute Variante ist. :floet:)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Monate später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...