Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Suppression de la base de données SQL Server via C#

Essayez ceci :

String sqlCommandText = @"
ALTER DATABASE " + DbName + @" SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [" + DbName + "]";

Assurez-vous également que votre chaîne de connexion vous définit par défaut sur le master base de données, ou toute autre base de données autre que celle que vous supprimez !

Soit dit en passant, vous n'avez vraiment pas besoin de tout ce qui entoure vos requêtes. Le ConnectionState commencera toujours par Closed , vous n'avez donc pas besoin de vérifier cela. De même, envelopper votre connexion dans un using block élimine le besoin de fermer ou de supprimer explicitement la connexion. Tout ce que vous avez à faire est :

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;