//计时器
public void timer()
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = 1000*60*60*12;//执行间隔时间,单位为毫秒,十二小时触发一次
timer.Start();
timer.Elapsed += new System.Timers.ElapsedEventHandler(ChangeStoreOrderNum);//到时间触发的方法
timer.AutoReset = true; //保证每12h都执行一次。
}
//到时间需要做的事
private void ChangeStoreOrderNum(object sender, System.Timers.ElapsedEventArgs e)
{
string sql = "UPDATE store s,(SELECT s_id,COUNT(*) AS num FROM printorders GROUP BY s_id) t SET s.s_totalorder=t.num WHERE s.s_id=t.s_id";
mySqlDbHelper.dochangesql(sql);
}
PS:需要事件触发计时器,如用户登录,只有在iis关掉网站,或者重新启动一下网站才可以中断定时器