0

这是我的代码。我无法设置 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;

        }
4

1 回答 1

0

您不能以这种方式使用参数。实现您正在寻找的最佳方法是使用 string.Format() 方法来创建您的选择语句。唯一真正的缺点是您将方法打开到 SQL 注入。

公共数据表 getAllDataFromTable(字符串表名){

        cmd.CommandText = string.Format("select * from {0}", TableName)";
        da.SelectCommand = cmd;
        da.Fill(dt);
        return dt;

    }

这是一个类似的线程。

SqlParameter C#上的表名和表字段?

于 2012-05-17T06:26:54.290 回答