[英]match query datetime in database ms access
嗨,我有這樣的數據庫訪問日期時間格式
1/18/2014 4:14:52 PM (M/DD/YYYY h/mm/ss)
當我試圖選擇以下代碼查詢時
Global.dbCon.Open();
string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Occurred = " +dt2+ "
ORDER BY ID";
Global.reader = Global.riyeder(kalimatsql2);
if (Global.reader.HasRows) {
while (Global.reader.Read()) {
int idku = Convert.ToInt32(Global.reader.GetValue(0));
MessageBox.Show(idku.ToString());
}
}
Global.dbCon.Close();
它給出了錯誤結果
查詢表達式中的語法錯誤(缺少運算符)'發生= 1/12/2014 4:18:59 PM'
這是我的dt2 var
DateTime dt2 = (DateTime) myDataGridView.CurrentRow.Cells[3].Value;
我已經檢查了很多次... dt與數據庫中的datetime具有相同的格式,但它仍然給出了錯誤結果....如何正確查詢
這是我的Global.riyeder
public static OleDbDataReader riyeder(string kalimatSql) {
dbCmd.CommandText = kalimatSql;
return dbCmd.ExecuteReader();
}
您缺少屬性Occurred的值的單引號。 它應該是
string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Occurred = '" +dt2+ "'
ORDER BY ID";
試試這樣吧
Global.dbCon.Open();
string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Format(DateOccurred, 'mm/dd/yyyy') = Format( '" + dt2+ "', 'mm/dd/yyyy') ORDER BY ID";
Global.reader = Global.riyeder(kalimatsql2);
if (Global.reader.HasRows) {
while (Global.reader.Read()) {
int idku = Convert.ToInt32(Global.reader.GetValue(0));
MessageBox.Show(idku.ToString());
}
}
Global.dbCon.Close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.