Zkuste toto:
String sqlCommandText = @"
ALTER DATABASE " + DbName + @" SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [" + DbName + "]";
Také se ujistěte že váš připojovací řetězec vás jako výchozí nastavíte na master
databázi nebo jakoukoli jinou databázi než tu, kterou odstraňujete!
Kromě toho opravdu nepotřebujete všechny tyto věci kolem svých dotazů. ConnectionState bude vždy začínat Closed
, takže to nemusíte kontrolovat. Podobně zabalte své připojení do using
blok eliminuje potřebu explicitně uzavřít nebo zlikvidovat připojení. Vše, co opravdu potřebujete, je:
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;