2013-12-24 113 views
1

喜的時間間隔從給定具體日期數據爲「現在」,我開發一個應用程序來獲取從一個數據庫服務器的數據到另一個在C#中的Visual Studio 2010中通過15分鐘

有要求應該通過軟件安裝日期從數據庫檢索數據意味着特定的日期到現在意味着當前時間。

還有一個條件,當我們得到像2010-03-05 16:30:23這樣的最早的記錄時,下一條記錄和第一條記錄差異應該是15分鐘,如下一條記錄應該是2010-03-05 16:45:23。數據庫每分鐘記錄一次。

我已經嘗試了下面,但它不符合要求。

try 
{ 
    var con = new SqlConnection(Properties.Settings.Default.sConstr); 
    var cmd = new SqlCommand("SELECT * from RAW_S001T01 where Date_Time >='" + time + "'", con); 
    con.Open(); 
    var dr = cmd.ExecuteReader(); 
    var count = 0; 
    while (dr.Read()) 
    { 
    var Date = (dr["Date_Time"].ToString()); 
    var temp = Date.ToString(CultureInfo.InvariantCulture); 
    var UTime=time.Split(':'); 
    string tempa = UTime[1].Substring(0, 2); 
    time = temp +int.Parse("15"); 
    MessageBox.Show(time); 
    } 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(@"Error.",ex.ToString()); 
} 

我們該如何解決?

+1

那麼究竟哪個部分出了問題?它在做什麼或不做什麼? –

+1

看起來新的「cmd」的設置在你的while循環之外,所以它永遠不會獲得新的時間。 –

+1

@LanceRoberts我只是在特定的日期到目前爲止所有的記錄。我希望他們在15分鐘的間隔時間內 –

回答

4

試試這個:
只是修改你的while循環並使用此代碼。

var Date = Convert.ToDateTime(dr["Date_Time"]); 
Date = Date.AddMinutes(15); 
MessageBox.Show(Date.ToString()); 

希望這會有所幫助!

2

只需在15分鐘後的時間內設置一個變量(按照Abhishek的回答)。

然後處理所有項目少於那個時間。當找到時間大於該時間的項目時,更新該時間(再增加15分鐘)並將輸出重定向到數據結構的下一部分。繼續循環直到完成。