使用参数化Alter Database命令时@ [参数名称]附近的语法不正确

Sam*_*ack 0 .net sql-server ado.net

我正在尝试使用以下代码删除SQL Server数据库:

SqlCommand command = new SqlCommand("USE MASTER; ALTER DATABASE @database SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE @Database", connection);
command.Parameters.AddWithValue("@database", TestingEnvironment.DatabaseName);
command.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

当我执行它时,我收到错误:

'@database'附近的语法不正确.关键字'with'附近的语法不正确.如果此语句是公用表表达式或xmlnamespaces子句,则必须以分号结束前一个语句.'IMMEDIATE'附近的语法不正确.

我究竟做错了什么?

Mla*_*dic 5

简单地说,Alter Database命令不支持你想要的参数.你必须在这里连接字符串.