请各位高手帮忙,
  for(int iii=0;iii<this.DataGridShow.PageCount;iii++)
     {
       for ( ii=0;ii<this.DataGridShow.Items.Count;ii++)                       
        {
            存储过程+新得到的参数 ;
         }
      }
以上的做法可以成功,可是问题是,如果把存储过程写在双重循环里面,每一次调用存储过程都将对数据库进行一次打开和关闭操作,这样会造成一直在访问服务器的状况。请问各位大侠,有没有一种方法,一次打开数据库,然后就可以一次执行成功。
谢谢

解决方案 »

  1.   

    我以前也遇到这样的问题,最好的方法就是循环操作在存储过程中完成.也许你会认为在存储过程中实现循环没有C#中来得容易,但还是有办法的,我就是这样实现的.在存储过程中用while关键字,是可以实现循环的,如果你对存储过程不太熟悉,可以到SQLSERVER区发个帖子,问问邹健老大,肯定会有答案的
      

  2.   

    数据量少时影响不大.
    大数据量,你可以用存储过程将this.DataGridShow.PageCount参数与III变量都传到存储过程中,在存储过程中loop
      

  3.   

    呵呵,用SQLCOMMANDBUILDER生成再用事务提交吧,