如何使用datetimepicker在2日期之間選擇日期。VB.net,如何在2日期之間選擇日期
我使用
SELECT *
FROM data BETWEEN '"& datetimepicker1.value &"' AND '"& datetimepicker2.value &"'
如何使用datetimepicker在2日期之間選擇日期。VB.net,如何在2日期之間選擇日期
我使用
SELECT *
FROM data BETWEEN '"& datetimepicker1.value &"' AND '"& datetimepicker2.value &"'
這是非常不好的做法來連接SQL中的查詢參數。使用特殊的參數語法。
回到你的問題: 查詢應該是這樣的:
SELECT * from data WHERE someField BETWEEN @Low AND @High
和代碼:
command.Parameters.Add("@Low", SqlDbType.Int); //set correct type
command.Parameters["@Low"].Value = low;
command.Parameters.Add("@High", SqlDbType.Int);//set correct type
command.Parameters["@High"].Value = high;
補充上述答案:
1)您必須在該日期相同的SQL格式,包括秒(或不)。該字符串必須相同。您也可以嘗試00:00:00到starttime和23:59:59到結束時間。
2)您必須利用從字符串到日期的轉換,因爲您的字段是SQL中的DATE。
嘗試:
SELECT * from data WHERE someField BETWEEN Convert(datetime, "01/01/1980 00:00:00", 120) AND Convert(datetime, "03/10/2015 23:59:59", 120)
看上面的 '120':it's的SQL格式的日期/時間。檢查可用格式以在SQL版本中轉換日期和時間。
因此,如果我使用datetimepicker,就像 - >轉換(日期時間,「datetimepicker1.text」,120)的語法?? –
編號使用「Convert(datetime,datetimepicker1.value,120)」來獲取控件的值(請參閱「否」),但請記住:如果您的SQL字段包含時間,則還需要在過程中指定時間。你可以使用OR datetimepicker.CustomFormat來設置類似「dd/MM/yyyy hh:mm:ss」的內容,甚至可以添加像datetimepicker.text和「00:00:00」這樣的時間。 –
此代碼不按預期工作的方式?結果SQL語句是什麼,執行它時會發生什麼? – David
您忘記了某些東西'...從date_column到...' –
之間的數據將兩個日期轉換爲與數據庫中類似的格式,否則它將無法工作。按照格式,我的意思是秒或分鐘。 SQL無法比較兩個字符串之間的值。它必須是一個整數或雙或數值 –