马上给分——使用windows服务程序每天早晨9点中执行插入数据库操作,多谢! 请高手指点,谢谢了~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用“作业(job)”需要有相应的权限。如果是sqlserver2005,在节点“代理”下面。 1)sql server 作业2)写个服务,定时执行 楼主有什么困难吗?Windows服务会写吗?定时每天早上9点会吗? /// <summary> /// 在指定的时间唤醒指定的程序 /// </summary> public class Planner:IDisposable { private GOA.Interface.IPlanalbe _plan = null; private string tag; private DateTime settingTime; private System.Threading.Timer timer = null; /// <summary> /// 唤醒器 /// </summary> /// <param name="timeExpression">时间表达式,定义在什么时候唤醒</param> /// <param name="plan">需要唤醒的程序</param> public Planner(string timeExpression , GOA.Interface.IPlanalbe plan) { tag = timeExpression.Trim(); _plan = plan; InitTimer(); } private void InitTimer() { System.Threading.TimerCallback callback = new System.Threading.TimerCallback(timer_Elapsed); timer = new System.Threading.Timer(callback,null,1000,200); SetNotifyTime(DateTime.Now); } private void SetNotifyTime(DateTime dt) { string[] t = tag.Split(':'); //System.Windows.Forms.MessageBox.Show(this.tag); int hour = int.Parse(t[0]); int min = int.Parse(t[1]); settingTime = new DateTime(dt.Year,dt.Month,dt.Day,hour,min,0); if(settingTime < DateTime.Now) { settingTime = settingTime.AddDays(1); } } private void timer_Elapsed(object state) { if(settingTime.ToShortDateString() == DateTime.Now.ToShortDateString() && settingTime.ToShortTimeString() == DateTime.Now.ToShortTimeString()) { try { timer.Change(System.Threading.Timeout.Infinite,System.Threading.Timeout.Infinite); _plan.Action(); } finally { SetNotifyTime(DateTime.Now.AddDays(1)); timer.Change(1000,200); } } } #region IDisposable 成员 public void Dispose() { if(timer != null) { timer.Dispose(); } } #endregion } 两个方案:1.windows任务记划,设定9点执行程序2.数据库作业 /// <summary> /// 需要被唤醒的接口 /// </summary> public interface IPlanalbe { void Action(); } 这里有一篇介绍使用Visual C#创建Windows服务程序文章,只要服务启动了,接下来的事应该简单了。你参考以下。http://doc.chinahtml.com/Manual/asp.net/dot42.htm 你直接写个插入数据库操作的EXE文件,然后用Windows自带的任务计划每天九点执行就可以了,不用那么费事的... 我写了个winform程序,利用windows的任务计划调用该程序,也是每天度去数据库的数据。不知道对楼主有用没有? //用时间组件private System.Timers.Timer timer1; private void timer1_Elapsed(object sender,System.Timers.ElapsedEventArgs e) { if (DateTime.Now.ToString("HH:mm") == strTime)// 可以写成上午九点 { WriteLog("定时程序开始运行。。");//写log .... } } input type=file 赋值的问题 winfrom 打印问题,打印时怎样才能不弹出打印的对话框? gridview 计算汇总 请教个简单的问题? ListItem能否绑定数据源,数据源是什么 Winform怎样设置样式 sqlDataBase 的命名空间是什么啊? 请教各位:如何去掉OpenFileDialog上的快捷方式 2种方法种,第2种方法好处在哪里?有更好的解决办法吗? 新手求助!textBox里面没有显示东西 大哥大姐,拜跪求教:泛型类的使用,组件。 天塌下来了,为了vs2003,不停重装系统。
需要有相应的权限。
如果是sqlserver2005,在节点“代理”下面。
2)写个服务,定时执行
/// 在指定的时间唤醒指定的程序
/// </summary>
public class Planner:IDisposable
{
private GOA.Interface.IPlanalbe _plan = null;
private string tag;
private DateTime settingTime;
private System.Threading.Timer timer = null;
/// <summary>
/// 唤醒器
/// </summary>
/// <param name="timeExpression">时间表达式,定义在什么时候唤醒</param>
/// <param name="plan">需要唤醒的程序</param>
public Planner(string timeExpression , GOA.Interface.IPlanalbe plan)
{
tag = timeExpression.Trim();
_plan = plan;
InitTimer();
}
private void InitTimer()
{
System.Threading.TimerCallback callback = new System.Threading.TimerCallback(timer_Elapsed);
timer = new System.Threading.Timer(callback,null,1000,200);
SetNotifyTime(DateTime.Now);
}
private void SetNotifyTime(DateTime dt)
{
string[] t = tag.Split(':');
//System.Windows.Forms.MessageBox.Show(this.tag);
int hour = int.Parse(t[0]);
int min = int.Parse(t[1]); settingTime = new DateTime(dt.Year,dt.Month,dt.Day,hour,min,0);
if(settingTime < DateTime.Now)
{
settingTime = settingTime.AddDays(1);
}
} private void timer_Elapsed(object state)
{
if(settingTime.ToShortDateString() == DateTime.Now.ToShortDateString() && settingTime.ToShortTimeString() == DateTime.Now.ToShortTimeString())
{
try
{
timer.Change(System.Threading.Timeout.Infinite,System.Threading.Timeout.Infinite);
_plan.Action();
}
finally
{
SetNotifyTime(DateTime.Now.AddDays(1));
timer.Change(1000,200);
}
}
}
#region IDisposable 成员 public void Dispose()
{
if(timer != null)
{
timer.Dispose();
}
} #endregion
}
1.windows任务记划,设定9点执行程序
2.数据库作业
/// 需要被唤醒的接口
/// </summary>
public interface IPlanalbe
{
void Action();
}
你参考以下。
http://doc.chinahtml.com/Manual/asp.net/dot42.htm
private System.Timers.Timer timer1;
private void timer1_Elapsed(object sender,System.Timers.ElapsedEventArgs e)
{ if (DateTime.Now.ToString("HH:mm") == strTime)// 可以写成上午九点
{
WriteLog("定时程序开始运行。。");//写log ....
}
}