SQL 服务器 : drop table with SQL parameters

标签 sql sqlparameter drop-table

我正在尝试使用 SqlParameters 删除一个表。我有这个代码。

dbCon.Open();
DataRowView d= (DataRowView) cmbTabele.Items[cmbTabele.SelectedIndex];
string name = (d["table_name"]as string);

SqlCommand com=new SqlCommand("drop table @nume ", dbCon);
com.Parameters.Clear();
SqlParameter param = new SqlParameter("@nume", name);
com.Parameters.Add(param);

com.ExecuteNonQuery();   // ERROR HERE
dbCon.Close();

我收到这个错误:

Incorrect syntax near '@nume'.

但是当我这样做的时候

SqlCommand com = new SqlCommand("drop table " + name, dbCon);

它有效,我真的不明白这个错误。

最佳答案

您不能为表名使用参数。尽管您通常会在这里被告知不要使用字符串连接来构建查询,但这是您需要这样做的一次!

SqlCommand com=new SqlCommand("drop table " + name, dbCon);

关于SQL 服务器 : drop table with SQL parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29018450/

相关文章:

c# - sqlparameter 性能不佳

.net - 有没有办法通过在 SQL Server 中使用 SQL 参数来指定临时表中的列长度?

oracle - 如何解决:SQL错误:ORA-00604:在递归SQL级别1发生错误

sql - 如何查询构建的字符串选择

mysql - 解释计划需要很长

mysql - 限制,选择UNION重复检查列

c# - SqlDbType.Structured 是什么意思?

mysql - 无法删除或更新父行 : a foreign key constraint fails Error

sql - Redshift : TRUNCATE TABLE IF EXISTS

sql - 存在执行计划太昂贵的情况