OleDbDataReader dr=obj.GetDataReader(sql);
while(dr.Read())
{
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
this.timer1.Interval = 10000;
this.timer1.Enabled=true;
this.timer1.Start();


} dr.Close();
private void timer1_Tick(object sender, System.EventArgs e)
{
dosomeing....// }
现在这样做,timer不起作用.

解决方案 »

  1.   

    this.timer1.Start(); 在while(dr.Read())之前不就有了?
      

  2.   

    你这样做,每读一行数据的时候,事件就重新绑定,timer就重新开始,重新开始计时。你的目的是?
      

  3.   

    楼上说的是:
    每读一行数据的时候,事件就重新绑定,timer就重新开始
      

  4.   

    并且你每tick+=一次,在事件链里面就多一项。
      

  5.   

    while(dr.Read())
    {
    执行延时程序操作

    } dr.Close();
      

  6.   

    如果你的目的只是延时操作,为什么不用线程呢?Thread.sleep(10000);睡10秒钟再继续线程后的任务。
      

  7.   

    Thread.sleep(10000);
    睡眠10秒钟
      

  8.   

    我没明白问题:while(dr.Read())
    {
    执行代码();

    }执行代码();是一个方法,里面每10秒要进行一些操作,Thread.sleep(10000);
    这个也不行呀
      

  9.   

    执行代码();是一个方法,里面每10秒要进行一些操作,Thread.sleep(10000);
    这个也不行呀=====================================================================
    为什么不行呢?没明白
      

  10.   

    while(dr.Read())
    {
    Thread.sleep(10000);
    }
    这样就行了!