ExecuteReader: CommandText 属性尚未初始化?

felix61 2003-07-29 03:25:08
public SqlDataReader Query(string storedProcName, IDataParameter[] parameters )
{
SqlDataReader returnReader ;
OpenConnection();
BuildQueryCommand( storedProcName, parameters );
returnReader = command.ExecuteReader();
return returnReader;
}
我用的是存储过程,不应该再初始化阿!帮帮忙
...全文
88 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Godshow 2003-07-29
  • 打赏
  • 举报
回复
OpenConnection(); //这句是哪来的?

其他地方没错。也不用声明command为全局变量。
不过Query 和 BuildQueryCommand方法都该是放在基类里的,在派生类里再具体调用Query(sp_Name,parameters)
Godshow 2003-07-29
  • 打赏
  • 举报
回复
你这段代码我看着眼熟,不过不敢给你解答,90的信誉分……
brightheroes 2003-07-29
  • 打赏
  • 举报
回复
你的BuildQueryCommnad构造的command是存发在这个方法内部的局部变量command里面的,如果不把它传出来,有什么用呢?看下面的例子。
int i = 1;//相当于你的全局变量
aa();
Console.WriteLine(i);

static int aa()
{
int i;//相当于你的局部变量
i = 3;
return i;
}

你把上面的程序变成
int i = 1;
i=aa();
Console.WriteLine(i);
结果肯定不一样的。
xiaomimamaya 2003-07-29
  • 打赏
  • 举报
回复
老大,你的command在哪里
felix61 2003-07-29
  • 打赏
  • 举报
回复
但是command在实际上我已经定义一个全局变量,只不过加了保护封装而以。
private SqlCommand command =new SqlCommand();

protected SqlCommand Command
{
get
{
return command;
}
}

-----------------------------------

在另一个方法我在重新定义了
SqlCommand command = new SqlCommand( storedProcName, connection );
会出现错误马
brightheroes 2003-07-29
  • 打赏
  • 举报
回复
如下
command = BuildQueryCommand( storedProcName, parameters );
returnReader = command.ExecuteReader();
因为你的BuildQueryCommand返回了一个局部变量command.(定义在你的方法内部)
所以你必须要让你的全局的command接受这个return的command才可以。
看看好不好用。
felix61 2003-07-29
  • 打赏
  • 举报
回复
private SqlCommand BuildQueryCommand(string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand( storedProcName, connection );
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add( parameter );
}
return command;

}

这个是BuildQueryCommand方法代码
brightheroes 2003-07-29
  • 打赏
  • 举报
回复
BuildQueryCommand 这个方法的问题。
贴出来。
总觉得你这么写有点别扭。
command是一个全居变量吧

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧