Dzwebs.Net

撰写电脑技术杂文十余年

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

Admin | 2016-3-27 8:03:24 | 被阅次数 | 10555

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

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

  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();


该杂文来自: 数据库Sql,VFP,Access

上一篇:using与SqlDataReader之嵌套使用范例

下一篇:mssql2005导出为Excel的图文教程

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计