1

嗨,我正在开发一个应用程序,用于在 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());
 }

我们如何解决这个问题?

4

2 回答 2

4

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

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

希望这可以帮助!

于 2013-12-24T05:10:15.027 回答
2

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

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

于 2013-12-24T05:24:24.833 回答