“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------必须指定要从中选择的表。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 必须指定要从中选择的表。源错误: 
行 589:                SqlDataAdapter sqlDA = new SqlDataAdapter();
行 590:                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
行 591:                sqlDA.Fill(dataSet, tableName);
行 592:                connection.Close();
行 593:                return dataSet;
 源文件: D:\OMS_090724V1\OMS\OMS.DAL\DbHelperSQL.cs    行: 591 
SQL语句没问题,连接字符也没问题。就是不知道怎么了,大家来帮帮忙~~~

解决方案 »

  1.   

    BuildQueryCommand是什么,检查下
      

  2.   

    看错误提示“必须指定要从中选择的表”
    是tableName变量为空值,检查该变量
      

  3.   

    必须指定要从中选择的表这句话说得够清楚。把sql语句打印出来,然后在数据库中查询一下。你是调用存储过程吧?表名指定了没有
      

  4.   

    tabName肯定不为空,是一个固定字符串存储过程在查询分析器里执行无误~~~
      

  5.   

    SqlDataAdapter dbAdapter = new SqlDataAdapter(sQueryString, connection);
    DataSet dataset = new DataSet();
    dbAdapter.Fill(dataset, TableName);
    connection.Close(); 
    return dataSet; 
      

  6.   

    检查一下BuildQueryCommand方法..你是不是用了存储过程..?要是的话,你执行以下存储过程看看有没有什么问题.
      

  7.   

    有可能是你SQL写错了,看看在查询分析器中运行你的StoreProcedure试试看。
      

  8.   

    System.Data.SqlClient.SqlException报的就是 数据库的错误
      

  9.   

    sqlDA.Fill(dataSet, tableName); 
    tableName  应该是字符串格式吧。
    如果是存储过程。是不是你tablename为空了。
      

  10.   

    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); 
    应该是这里出错了,捕获一下你的Sql语句贴出来看看
      

  11.   

    分开写一下,确保 storedProcName 是存储过程的名字,string 类型。
     tableName 也是string 类型。
    然后你再写写parameters赋值那块。我不太确定parameters是数组还是什么类型。
    大概就是
    cmd.Parameters.Add("参数1",参数值); 
    的格式。你把这样的代码写在下面红色标记那里,你调试下,SqlDataAdapter sqlDA = new SqlDataAdapter();
     SqlCommand cmd = new SqlCommand(storedProcName,connection); 
     
     参数赋值
     

    sqlDA.SelectCommand = cmd; 
     sqlDA.Fill(dataSet, tableName); 
     connection.Close(); 
       return dataSet; 
      

  12.   

    dbAdapter.Fill(dataset, "TableName"); 
      

  13.   

    sqlDA.Fill(dataSet, tableName); 
    改成
    sqlDA.Fill(dataSet); 
      

  14.   

    public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName, int Times)
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    DataSet dataSet = new DataSet();
                    connection.Open();
                    SqlDataAdapter sqlDA = new SqlDataAdapter();
                    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
                    sqlDA.SelectCommand.CommandTimeout = Times;
                    sqlDA.Fill(dataSet, tableName);
                    connection.Close();
                    return dataSet;
                }
            }
      

  15.   

    没有给内存表命名, 查看一下DataSet