匹配数据库ms access中的查询日期时间 [英] match query datetime in database ms access

查看:44
本文介绍了匹配数据库ms access中的查询日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这样的数据库访问中有日期时间格式

hi i have datetime format in database access like this

1/18/2014 4:14:52 PM (M/DD/YYYY h/mm/ss)

当我尝试使用以下代码选择查询时

when i tried to select query whith this following code

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();

给出错误结果
查询表达式中的语法错误(缺少运算符)Occurred = 1/12/2014 4:18:59 PM"

这是我的 dt2 var

it's give error result
Syntax error (missing operator) in query expression 'Occurred = 1/12/2014 4:18:59 PM'

this is my dt2 var

DateTime dt2 = (DateTime) myDataGridView.CurrentRow.Cells[3].Value;

我已经检查过很多次了... dt 与数据库中的日期时间具有相同的格式但它仍然给出错误结果....如何正确查询

i already check it many time...that dt has same format as datetime in database but it's still give that error result....how to query it correctly

这是我的 Global.riyeder

this is my 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();

这篇关于匹配数据库ms access中的查询日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆