将给定特定日期的数据以15分钟的间隔从“现在”获取

时间:2013-12-24 04:52:32

标签: c# sql sqldatareader data-retrieval

您好我正在开发一个应用程序,用于在C#Visual Studio 2010中将数据从一个数据库服务器检索到另一个数据库服务器。

要求通过软件安装日期从数据库中检索数据意味着现在的特定日期意味着当前时间。

还有一个条件是,当我们获得最早的记录如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());
 }

我们如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

试试这个:
只需修改你的while循环并使用此代码。

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

希望这有帮助!

答案 1 :(得分:2)

只需在变量中设置15分钟后的时间(根据Abhishek的回答)。

然后处理少于该时间的所有项目。当您找到时间大于该时间的项目时,请更新该时间(再添加15分钟)并将输出重定向到数据结构的下一部分。继续循环直到你完成。