C#控制台程序,每隔二个小时调用一次数据库,请教

chenguang79 2009-12-30 10:31:25
我现在要做一个C#控制台程序,要求每二个小时自动调用一次数据库里的数据,请问这个如何实现。
请高手给段简单的代码,感谢
...全文
390 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
only_lonely 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mysword 的回复:]
不好意思,应该是7200000
用timer是用新的线程处理,主线程还可以继续做别的事情
在主线程里做循环,那还怎么做别的事情
[/Quote]
不完全是新线程,但处理的情况很特别
only_lonely 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ck11926375 的回复:]
控制台程序有timer啊?

写个循环,执行操作,完了sleep(72000).
[/Quote]
kensouterry 2009-12-30
  • 打赏
  • 举报
回复
不用Timer,直接在死循环里面使用Thread.Sleep()让程序休息就可以了,
gnefuil 2009-12-30
  • 打赏
  • 举报
回复
不好意思,应该是7200000
用timer是用新的线程处理,主线程还可以继续做别的事情
在主线程里做循环,那还怎么做别的事情
zhanghang19890621 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhanghang19890621 的回复:]
static void Main(string[] args)
        {
            string str2 = DateTime.Now.AddSeconds(+5).ToString();
            while(true)
            {
                string str = DateTime.Now.ToString();
              if(str.Equals(str2))
              {
                  str = DateTime.Now.ToString();
                  str2 = DateTime.Now.AddHours(+2).ToString();
                  Console.WriteLine("aaa");
                  在这里写入要主要数据
              }
            }
        }
[/Quote]

刚上面那个写错了

上面也应该是:
string str2 = DateTime.Now.AddHours(+2).ToString();
zhanghang19890621 2009-12-30
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
string str2 = DateTime.Now.AddSeconds(+5).ToString();
while(true)
{
string str = DateTime.Now.ToString();
if(str.Equals(str2))
{
str = DateTime.Now.ToString();
str2 = DateTime.Now.AddHours(+2).ToString();
Console.WriteLine("aaa");
在这里写入要主要数据
}
}
}
liweiprintfabcd 2009-12-30
  • 打赏
  • 举报
回复
下面的示例创建一个 Timer,它每隔五秒钟在控制台上显示一次“Hello World!”。

对于此示例,使用 System.Timers 命名空间。

using System;
using System.Timers;

public class Timer1
{
public static void Main()
{

System.Timers.Timer aTimer = new System.Timers.Timer();

aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

// Set the Interval to 2 seconds (2000 milliseconds).
aTimer.Interval = 2000;

aTimer.Enabled = true;

Console.WriteLine("Press the Enter key to exit the program.");
Console.ReadLine();

// Keep the timer alive until the end of Main.
GC.KeepAlive(aTimer);
}

// Specify what you want to happen when the Elapsed event is
// raised.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Console.WriteLine("Hello World!");
}
}
ck11926375 2009-12-30
  • 打赏
  • 举报
回复
控制台程序有timer啊?

写个循环,执行操作,完了sleep(72000).
salior2006 2009-12-30
  • 打赏
  • 举报
回复
为什么不用MS SQL的作业管理来做。这样不是更简单。
颤菊大师 2009-12-30
  • 打赏
  • 举报
回复
控制台程序?为什么不考虑服务?
freeboy827 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mysword 的回复:]
用timer呀,在主线程里起一个timer,每隔2个小时自动调用你的一个函数,函数里面调用数据库的数据
比如
class Program
    {
        static void Main(string[] args)
        {
            int interval = 3600000;//2 hours
            Timer timer = new Timer((TimerCallback)OnTimerEvent, null, 0, interval);
            Console.ReadLine();
            timer.Dispose();
        }
        static void OnTimerEvent(object state)
        {
              //do ur database operation
        }
    }


[/Quote]
这个可以,不过2小时是72000
gnefuil 2009-12-30
  • 打赏
  • 举报
回复
用timer呀,在主线程里起一个timer,每隔2个小时自动调用你的一个函数,函数里面调用数据库的数据
比如
class Program
{
static void Main(string[] args)
{
int interval = 3600000;//2 hours
Timer timer = new Timer((TimerCallback)OnTimerEvent, null, 0, interval);
Console.ReadLine();
timer.Dispose();
}
static void OnTimerEvent(object state)
{
//do ur database operation
}
}

chenguang79 2009-12-30
  • 打赏
  • 举报
回复
请高手帮忙

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧