DateFromとDateToに基づいてレコードをフィルタリングする必要があるタスクがあります。mysqlでは、日付fromatはこのように「2014-07-1820:03:08」にあります。フロントエンドで、テキストボックスにDatetimePickerを使用しました。datetimepicker形式の結果は「2014/07/0914:00」になります。したがって、dbdateformatとdatetimeformateを比較することはできません。
秒付きの日時ピッカーが欲しい..plzは私を助けてくれます
AはプロパティにをDateTimePicker
格納DateTime
しValue
ます。あなたはそれに希望の秒を追加することができます:
DateFrom.Value = DateFrom.Value.AddSeconds(seconds);
datetimepicker形式の結果は「2014/07/0914:00」になります。
MySqlのdatetime-columnsのパラメータとして文字列を使用しないでください。代わりに、sql-parametersを使用して、DateTime
直接渡します。
// add seconds if you want, but i don't see any reason for it
// maybe you want to include the To-date, then you can add a day - one second
DateTo.Value = DateTo.Value.AddDays(1).AddSeconds(-1);
using (MySqlConnection conn = new MySqlConnection("connStr"))
{
try
{
conn.Open();
string sql = @"SELECT t.From, t.To, OtherColumns...
FROM TableName t
WHERE FROM >= @From AND To <= @To";
using(MySqlCommand cmd = new MySqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@From", DateFrom.Value);
cmd.Parameters.AddWithValue("@To", DateTo.Value);
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
// ...
}
}
}
} catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加