C# timer控件 是否消耗过多系统资源 50

如题,我使用VS2008,数据库使用sqlserver;想通过自带的Timer控件来完成在某个时间对数据库的查询操作;这样会不会很占用系统资源?或者说干脆在数据库端加入触... 如题,我使用VS2008,数据库使用sqlserver;
想通过自带的Timer控件来完成在某个时间对数据库的查询操作;
这样会不会很占用系统资源?
或者说干脆在数据库端加入触发器?
我想实现的功能是,首先在数据库中插入一条数据,然后我的程序捕捉到插入这条数据的时间,称为时间点A,然后我想在A+1小时后查询这条记录中其他字段的状态;
请问如果在数据库规模不大的情况下 这样做是不是可行的?
如果我做的这个程序将来变成了大的系统 还能否使用这个算法?
谢谢大家 分不多 请笑纳
展开
 我来答
lum2005cn
2010-02-24 · TA获得超过2928个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:107万
展开全部
如果你要使用大的系统,请使用类似于消息线程的方法;
创建一个表
id(int) user(string) pkid(id) type(id) date(datetime) old(bit)
当你创建一条数据时,比如用触发器的方法,会自动创建如下语句:
insert into table values('我','数据主键','消息类型','执行时间','是否过期');

定义枚举消息类型{},并为每一种消息类型创建一个执行工厂,完成你所需要的任务。

使用timer控件,定时从表中获得执行人,数据主键,消息类型,执行时间,之后使用你定义的消息工厂,让他们自行处理。

当你的系统非常复杂的时候,一定要把重要功能都隔离出来,减少耦合性,这样在你的系统变大的时候,才不会出错,这是一种懒办法,也是聪明的办法。
MuCloudLi
2010-02-24 · TA获得超过480个赞
知道小有建树答主
回答量:802
采纳率:0%
帮助的人:744万
展开全部
用 System.Timers.Timer 类会计时更准确,更轻量:
下面的一个例子你可以参考一下:
//实例化Timer类,设置间隔时间为10000毫秒;
System.Timers.Timer t = new System.Timers.Timer(10000);
//到达时间的时候执行事件;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);
//设置是执行一次(false)还是一直执行(true);
t.AutoReset = false;
//是否执行System.Timers.Timer.Elapsed事件;
t.Enabled = true;

public void theout( object source, System.Timers.ElapsedEventArgs e)
{ MessageBox.Show("OK!"); }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
curllion
2010-02-26 · TA获得超过3633个赞
知道小有建树答主
回答量:1561
采纳率:50%
帮助的人:605万
展开全部
SQLSERVER数据库本身就有定时执行SQL语句的功能
前提是SQL Server Agent (MSSQLSERVER)服务要启动

打开Microsoft SQL Server Management Studio
打开里面的SQL Server 代理
里面有个"作业",在上面点右键,新建作业......剩下的自己研究一下吧

至于timer控件,最好不用,一般用多线程来实现这样的功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友832f67911
2010-02-24 · 超过14用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:43.6万
展开全部
小系统也不是太实用,大系统就别想了,你可以用timer触发,但是时间间隔太长,用timer不合适,既然是数据库中的,我记得有过程中,是有到时间就自动运行,你可以查一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lileyear
2010-02-24 · TA获得超过1499个赞
知道小有建树答主
回答量:1291
采纳率:0%
帮助的人:915万
展开全部
用什么timer,直接轮询获取系统时间,一看到时间了就做你的程序不就完了。

这么不精确根本不用timer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式