在数据库MS访问中匹配查询数据库



嗨,我在数据库访问中具有

的数据库格式
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";

最新更新