SqlDataReader dr1 = cmd1.ExecuteReader()问题

hzxsasdfgh 2009-10-25 08:05:45
string sql = string.Format("select FromUserId from Messages where ToUserId={0} and MessageTypeId=2 and MessageState=0 group by FromUserId", UserHelper.loginId);
SqlCommand cmd = new SqlCommand(sql, DBHelper.connection);
DBHelper.connection.Open();
SqlDataReader dr = cmd.ExecuteReader();
for (int i = 0; i < 200; i++)
{
while (dr.Read())
{
FromUserIDArray[i] = (int)dr["FromUserId"];
待高手插入的地方!
toolStripButton3.Image = imageList1.Images[102];

}
}
dr.Close();

把这边的代码写到上面去!请高手请教怎么写~并把代码写好!谢谢! 问题是如果有2个 while(dr.read())的话!等到下一个读取的时候上一个就关闭了~救命呀!
for (int i = 0; i < 200; i++)
{

string sql1 = string.Format("select NickName,id,FaceId From Users where id={0}", FromUserIDArray[i]);
SqlCommand cmd1 = new SqlCommand(sql1, DBHelper.connection);

SqlDataReader dr1 = cmd1.ExecuteReader();

if (dr1.Read())
{
tranNickName = (string)dr1["NickName"];
tranId = (int)dr1["id"];
tranFaceId = (int)dr1["FaceId"];


} dr1.Close();
}
DBHelper.connection.Close();


我想把下面的SQL语句插入到上面的语句里面去怎么插~就是用以条SQL语句来插~就用一个SqlDataReader
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Harrison_2009 2009-10-25
  • 打赏
  • 举报
回复
不懂,mark.
qldsrx 2009-10-25
  • 打赏
  • 举报
回复
SqlDataReader在关闭之前是不允许再次打开一个新的,而且SqlDataReader是单向的,无法反复遍历查询,所以你上面那段代码就是错误的,更不用说拿下面的插进入了。

110,536

社区成员

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

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

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