使用SqlAdapter时出错' {"必须声明表变量\" @tableName \"。"}'

时间:2017-02-26 10:22:05

标签: sql asp.net

我无法看到我出错的地方,并想知道你是否可以提供帮助? 只是一个带表的基本SELECT。 关于错误消息,我以为我在参数部分声明了@tableName变量?

SqlDataAdapter adapter = new SqlDataAdapter(
                              "SELECT * FROM @tableName",con);

                        adapter.SelectCommand.Parameters.Add(new SqlParameter
                         {
                             ParameterName = "@tableName",
                             Value = tableName,
                             SqlDbType = SqlDbType.NVarChar
                         });                            
                        adapter.Fill(databaseList);

2 个答案:

答案 0 :(得分:2)

您无法将表名称作为参数传递给SELECT。通过在SQL字符串中插入正确引用的(转义的)表名来动态构造SQL。

答案 1 :(得分:1)

From子句不是表达式,不能发送参数

试试这个

  SqlDataAdapter adapter = new SqlDataAdapter(string.Format("Select * From {0}", "yourTableName"), con);