无法设置参数以使用dataadapter选择命令

时间:2012-05-17 06:21:29

标签: asp.net ado.net

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

        }

1 个答案:

答案 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;

    }

这是一个类似的主题。

Table name and table field on SqlParameter C#?