代码改变世界

提示ExecuteReader: CommandText 属性尚未初始化

2009-09-14 11:00  Fred-Xu  阅读(9952)  评论(0编辑  收藏  举报
遇到的情况:所有sql语句、参数都是正确无误的,但是执行程序后会报错“ExecuteReader: CommandText 属性尚未初始化”。
百度、谷歌一下,并没有搜索到我这种出错情况....囧
经过第二轮代码复查,终于找到了问题所在,原来是storedProcName没有传存储过程的名称!太低级失误啦!
/// <summary>
        
/// 执行存储过程
        
/// </summary>
        
/// <param name="storedProcName">存储过程名</param>
        
/// <param name="parameters">存储过程参数</param>
        
/// <param name="tableName">DataSet结果中的表名</param>
        
/// <returns>DataSet</returns>
        public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
        {
            SqlConnection connection 
= new SqlConnection(connectionString);
            DataSet dataSet 
= new DataSet();
            connection.Open();
            SqlDataAdapter sqlDA 
= new SqlDataAdapter();
            sqlDA.SelectCommand 
= BuildQueryCommand(connection, storedProcName, parameters);
            sqlDA.Fill(dataSet, tableName);
            sqlDA.Dispose();
            connection.Close();
            
return dataSet;
        }