2015-08-28 46 views
-1

我想檢查客戶的狀態,並根據某個特定時間的狀態更新所有公司的員工記錄。我在sql Agents成功。但是我們的老闆說沒有人提供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;[email protected]"; 
      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

在你的數據庫中創建工作。沒有必要有一個應用程序來運行這個爲你 – dan

+0

我不能讓代理共享.. –

+0

請儘快更改密碼 - :) – vassilag

回答

2

在你的程序中使用timer將連續運行&檢查時間是否匹配,然後執行你的代碼。或者使用windows scheduler。只需將您的腳本安排到Windows調度程序&它將在預定的時間執行您的程序。

+0

定時器控制應用程序必須始終運行模式,但我的應用程序不總是運行模式。 –

+0

所以如何處理windows schdeular ..我曾經做過上面提到的哪個工作不正常。 –

+0

對於第一種方式,您每次都保持流程運行。如果你使用第二種方式,你將依賴於windows。因此,無論您在哪裏安裝軟件,都必須配置調度程序。這裏是教程http://www.7tutorials.com/how-create-task-basic-task-wizard –

相關問題