大众计算机学习网欢迎诸位!收藏本站注 册登 陆
常用教程:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 教程 > 文章页

多个sqldatareader嵌套的另类解决办法

Admin | 2016-3-27 8:03:24 | ReadNums | 1503 | 标签 数据库Sql,VFP,Access | 打印本页
     

  通常情况下,我们会使用到多个的嵌套使用,诸如下面的使用:

  SqlDataReader read1,read2;

  while (read1.read())
  {
     while (read2.read())
     {
     }
  }  

  但是在实际的应用中,上面的用法会导致错误,因为CN连接是同一个连接,如果关闭了其中的任何一个SqlDataReader,都会导致另外的一个出错误。

  因此,如果你非要这样来使用,有这样的需求,可以使用另外的方法来期待上面的方法,下面提供大家一种方法,也就是说,使用单个SqlDataReader配合SqlCommand来完成。

   SqlCommand myComm=new SqlCommand(sqlflag,myConn);
  SqlDataReader dr=myComm.ExecuteReader();
  while(dr.Read()){
   Tuser=dr.GetString(1);
   CTAmount=dr.GetInt32(2);

  for(i=0,i<CTAmount;i++) {
      String insertCmd = "insert into ControlT (@ctuser, @ctno)";
      SqlCommand myCommand = new SqlCommand(insertCmd, myConn);

      myCommand.Parameters.Add(new SqlParameter("@ctuser", SqlDbType.NVarChar, 50));
      myCommand.Parameters["@Id"].Value = Tuser

      myCommand.Parameters.Add(new SqlParameter("@ctno", SqlDbType.NVarChar, 50));
      myCommand.Parameters["@Id"].Value = ctno

      myCommand.ExecuteNonQuery();
  }        
   }
  dr.Close();


问题未解决:在线咨询我要在线咨询问题

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日