SQL - Datenbank löschen

Arijane

Mitglied
Hallo !
Ich hoffe mal wieder auf Eure Hilfe bezüglich eines SQL-Problems !

Ich lege während der Laufzeit eine Datenbank an, und lege bei einem nächsten "Button_klick" in diese Datenbank eine Tabelle. Soweit funktioniert es. Jetzt möchte mittels eines "Button_klick" die Datenbank wieder löschen.

Wenn ich, bevor ich die Datenbank lösche, mein Programm beende und neu debugge klappt alles wunderbar. Wenn ich aber alle Mausklicks nacheinander durchführe, bekomme ich die Mitteilung dass die Datenbank derzeit nicht gelöscht werden kann, da sie zurzeit verwendet wird.

Nachdem ich die Tabelle anlege, schließe ich aber die Verbindung mittels close()
Bevor ich die Datenbank lösche (DROP DATABASE XXX) , öffne ich die Verbindung wieder, denn wenn ich das nicht mache, bekomme ich diese Fehlermeldung "ExecuteNonQuery fordert eine geöffnete udn Verfügbare Verbindung".

Weiß jemand was ich falsch mache ?
Vielen Dank im Voraus,
Arijane
 
Da könnten noch offene Connections im Pool hängen, aber:

Warum willst du eine Datenbank löschen die du vorher erstellt hast und die du bei Bedarf wieder erstellst - inkl. der Tabellen die du benötigst? Wieso lässt du sie nicht einfach stehen und nutzt sie, wenn sie gebraucht wird und lässt sie ansonsten in Ruhe?

Wenn du es wirklich tun willst schau mal hier:

http://www.techtalkz.com/c-c-sharp/66810-cannot-drop-database.html
http://www.dbforums.com/microsoft-sql-server/1216056-problem-dropping-database-c.html
 
GROSSARTIG !! DANKE !

USE db
ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE
USE master

ist es gewesen.

Eigentlich möchte ich lediglich bei Programmstart prüfen ob bestimmte Datenbanken vorhanden sind. Wenn nicht, sollen sie angelegt werden.

Hier hat mich nun aber der Ehrgeiz gepackt, und es hat mich schwarzgeärgert dass ich die Dateien nicht per Code löschen konnte...Jetzt kann ich es - alles ist gut :)
Danke nochmal !
 

Neue Beiträge

Zurück