如何在没有人工交互的情况下在特定时间自动运行程序?

时间:2015-08-28 06:19:24

标签: c# sql

我想检查客户的状态,并根据特定时间的状态更新所有公司的员工记录。我在sql Agents中成功了。但我们的老板说没有人web hosters提供共享sql agents。因此,找到任何其他替代进程来运行它。 所以我创建了一个窗口表单,并在FormLoad事件中编码,如下所示。

private void Form1_Load(object sender, EventArgs e)
        {
            string connetionString = null;
            SqlConnection cnn;
            SqlCommand cmd;
            string sql = null;    
            connetionString = "Data Source=SERVER1;Initial Catalog=crm;User ID=sa;Password=elife@123";
            sql = "AutoCheckExpiry_ForPayment";    
            cnn = new SqlConnection(connetionString);
            try
            {
                cnn.Open();
                cmd = new SqlCommand(sql, cnn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                cnn.Close();               
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }                        
        }

然后获得此应用程序的.exe文件并附加到task scheduler,但它无法正常工作.. 那么还有另一种替代方案吗?

1 个答案:

答案 0 :(得分:2)

在您的程序中使用timer,它将连续运行&检查匹配的时间,然后执行代码。

或使用windows scheduler。只需将您的脚本安排到Windows调度程序&它会在预定的时间执行你的程序。