簡體   English   中英

比較Datetimepicker中的兩個Datetimes和MySql Database中的一個

[英]Compare two Datetimes one from Datetimepicker and one from MySql Database

我有一個奇怪的問題...我有一個帶有一些列的MySql數據庫,其中一列是date_purchased,類型為date_time。

我正在使用C#並制作了一個DatetimePicker,用戶選擇了一個日期。

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {

        varDate = dateTimePicker1.Value;

    }

現在問題是我必須比較兩個日期時間(一個來自數據庫,一個來自用戶),我應該顯示小於用戶選擇的日期(varDate)的記錄。

select * from orders where date_purchased < = '" + varDate + "'";

我正在執行此查詢,但我得到一個例外

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '12/25/2011 8:01:31 PM'' at line 1

我寫了連接字符串和所有,我對查詢感到震驚。 任何幫助將不勝感激...謝謝,Subash

嘗試類似DBdatetime <“'”+ vardate +“'”的地方

需要注意的是,請檢查兩個日期的格式。 我在以前的應用程序中遇到問題,其中數據庫有秒和毫秒,而應用程序只提供數據並將時間設置為00:00。 這導致當前日期的記錄未顯示在結果集中。 因此,我必須在日期中添加23:59以獲取當天的所有記錄。

您可以使用以下MySQL查詢檢索兩個數據之間的值

SELECT * FROM table_name WHERE dbvalue < varData

您沒有提供有關運行select查詢的內容的任何詳細信息; 但是,如果您使用的是Mysql(Connector / Net)提供的連接器,那么您應該使用參數。 看起來像這樣:

String sql = "select * from orders where date_purchased < @DatePurchased";

MySqlDataAdapter adapter = new MySqlDataAdapter(sql, connection);
adapter.SelectCommand.Parameters.Add("DatePurchased", MySqlType.DateTime).Value = varDate; 
adapter.Fill(dataSet);   

使用參數將確保轉換值並且還將阻止SQL注入

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM