嗨,我在数据库访问中具有
的数据库格式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();
}
尝试像这样
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();
您缺少属性的值发生的单引号。应该是
string kalimatsql2 = "SELECT * FROM Quiz_Occurrences WHERE Occurred = '" +dt2+ "'
ORDER BY ID";