Prøv dette:
String sqlCommandText = @"
ALTER DATABASE " + DbName + @" SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [" + DbName + "]";
Også sørg for at din forbindelsesstreng indstiller dig til master
database, eller enhver anden database end den du dropper!
Som en sidebemærkning, behøver du virkelig ikke alle de ting omkring dine forespørgsler. ConnectionState vil altid starte Closed
, så det behøver du ikke tjekke for. Ligeledes pakker du din forbindelse ind i en using
blokering eliminerer behovet for eksplicit at lukke eller bortskaffe forbindelsen. Alt du virkelig skal gøre er:
String Connectionstring = CCMMUtility.CreateConnectionString(false, txt_DbDataSource.Text, "master", "sa", "happytimes", 1000);
using(SqlConnection con = new SqlConnection(Connectionstring)) {
con.Open();
String sqlCommandText = @"
ALTER DATABASE " + DbName + @" SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [" + DbName + "]";
SqlCommand sqlCommand = new SqlCommand(sqlCommandText, con);
sqlCommand.ExecuteNonQuery();
}
result = 1;