这是我的代码。我无法设置TableName变量,它抛出异常 必须声明表变量“@TableName”
public DataTable getAllDataFromTable(String TableName)
{
cmd.CommandText = "select * from @TableName";
cmd.Parameters.AddWithValue("@TableName", TableName);
da.SelectCommand = cmd;
da.Fill(dt);
return dt;
}
答案 0 :(得分:0)
您不能以这种方式使用参数。实现所需内容的最佳方法是使用string.Format()方法创建select语句。唯一真正的缺点是你打开方法直到SQL注入。
public DataTable getAllDataFromTable(String TableName) {
cmd.CommandText = string.Format("select * from {0}", TableName)";
da.SelectCommand = cmd;
da.Fill(dt);
return dt;
}
这是一个类似的主题。