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

本文介绍了一种在调用存储过程时遇到的错误“ExecuteReader:CommandText属性尚未初始化”的原因及解决方法。错误源自未正确传递存储过程名称,通过检查并修正此问题可以避免该错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到的情况:所有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;
        }

转载于:https://www.cnblogs.com/Fred_Xu/archive/2009/09/14/1566192.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值