sql >> Database teknologi >  >> RDS >> Sqlserver

Slip SQL Server-database gennem C#

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;


  1. SQL IN-sætning langsommere end individuelle forespørgsler

  2. Ville en begrænsning af en unik nøgle med mange felter skade MySQL-ydeevnen?

  3. Sådan opretter du bruger med superbrugerprivilegier i PostgreSQL

  4. Envers + MYSQL + List<String> =SQLSyntaxErrorException:Den angivne nøgle var for lang;