1

こんにちは、C# Visual Studio 2010 で、あるデータベース サーバーから別のデータベース サーバーにデータを取得するアプリケーションを開発しています。

ソフトウェアのインストール日は現在の時刻を意味する特定の日付を意味し、データベースからデータを取得する必要があるという要件があります。

もう 1 つの条件として、 のように最も古いレコードを取得した場合2010-03-05 16:30:23、次のレコードと最初のレコードの差は のように 15 分である必要があります2010-03-05 16:45:23。1 分あたりのレコードを持つデータベース。

以下を試してみましたが、要件を満たしていません。

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 に答える