轮询数据库以打印文件

时间:2013-11-27 13:20:46

标签: c#

我需要一个程序将数据库(MSSQL)中的任何文件发送到我的打印机。我想过用这样的东西:

Thread.Sleep(20000);

所以每20秒我检查一次我的数据库是否有任何变化,如果有,请打印文件。但我想知道是否有更好的方法? 在数据库发生变化时向程序发送中断的东西?

1 个答案:

答案 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