我需要一个程序将数据库(MSSQL)中的任何文件发送到我的打印机。我想过用这样的东西:
Thread.Sleep(20000);
所以每20秒我检查一次我的数据库是否有任何变化,如果有,请打印文件。但我想知道是否有更好的方法? 在数据库发生变化时向程序发送中断的东西?
答案 0 :(得分:0)
您可以使用Timer轮询数据库。计时器每N秒提升一次Elapsed事件,您可以在其中查询数据库:
static void Main(string[] args) {
System.Timers.Timer DatabaseTimer = new System.Timers.Timer();
//set the inteval to 20 seconds. Interval is in milliseconds so 20 sec = 20000 milisec
DatabaseTimer.Interval = 20000;
//start the timer
DatabaseTimer.Enabled = true;
//set the eventhandler, which is called every 20 seconds
DatabaseTimer.Elapsed += new System.Timers.ElapsedEventHandler(DatabaseTimer_Elapsed);
}
static void DatabaseTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
//Your database query / printing here
}
您可以在此处详细了解MSDN上的计时器:http://msdn.microsoft.com/library/system.timers.timer(v=vs.110).aspx