Опитайте това:
String sqlCommandText = @"
ALTER DATABASE " + DbName + @" SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [" + DbName + "]";
Също така уверете се че вашият низ за свързване ви задава по подразбиране на master
база данни или всяка друга база данни, различна от тази, която изпускате!
Като настрана, наистина не се нуждаете от всички тези неща около вашите заявки. ConnectionState винаги ще започва от Closed
, така че не е необходимо да проверявате за това. По същия начин обгръщане на вашата връзка в using
block елиминира необходимостта от изрично затваряне или премахване на връзката. Всичко, което наистина трябва да направите е:
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;