1.button1在数据未完全读取结束的时候,我点击了button2,则转去处理button2,button1的事件都中止
2.DataReader在用系统内存,不可能一次就读取10w数据,一般都在用WHERE子句来限制读出的记录数
3. SQL Server的连接时间配置如下
  1、在企业管理器中,选择菜单上的"工具",再选择"选项"  2、在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡  3、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20.

解决方案 »

  1.   

    1.每点一次按钮就是向服务器提交一次,相互直接没有必然联系.
    2.主要是内存,另外MSSQL在检索数据时占用CPU资源
    3.
    web.config
    按以下格式修改
    <system.web>   
         <httpRuntime maxRequestLength="102400" executionTimeout="3600" />
      </system.web>maxrequestlength  最大上传容量(KB)executiontimeout  响应时间(秒)
      

  2.   

    我抛砖了...
    1、点击button2之后,执行的操作应该和VB中的DoEvents是一回事,如果读取数据的时间很长,那么CPU会执行button2所触发的事件..
    2、存储?DataReader一次只读一条记录(Read方法),而且是向前的,它读下一条的时候会把上一条清空,并且一旦读过某条记录就不能回头了
    3、这个问题我也遇到过,也不太清楚产生的原因,请高人讲解
      

  3.   

    我觉得button1的click事件中的执行动作不会停止
    我觉得datareader读取完数据后的操作是占用了内存的资源,因为我做过测试在有160000条数据的时候,机器会变的越来越慢,知道内存被完全占用导致程序的死机
      

  4.   

    2、存储?DataReader一次只读一条记录(Read方法),而且是向前的,它读下一条的时候会把上一条清空,并且一旦读过某条记录就不能回头了
    ===》
    至少DataReader中有数据才会执行读取吧???也就是说DataReader的数据集合总要有“存储”的地方吧?也许用“存储”不太恰当罢了。
      

  5.   

    Button1事件不会停止
    =====》
    如果button1事件不会终止,那么我怎么能在响应button2的同时终止button1的动作呢??