读书人

ado访问access数据库 sql语句 where语

发布时间: 2012-01-29 21:39:32 作者: rapoo

ado访问access数据库 sql语句 where语句中匹配时间类型 CONVERT
VC++ ado access数据库table表中有个timetype列类型为 "日期时间 "
我要实现的查询要求如下:
给定一时间字符串(不含日期)CString m_time= "12:2:2 ",要求查询一天中大于该时间的所有信息
我的实现是:
CString m_mysql;
m_mysql=select * from table where CONVERT(varchar(8),timetype,108)> =# "+m_time+ "#;
错误提示:
在打开记录集时:....KERNEL32.DLL...Microsoft C++Exception
望各位老兄给予帮助

[解决办法]
CString m_mysql;
m_mysql= "select * from table where Format$(timetype, 'hh:nn:ss ')> = ' ";
m_mysql+=m_time;
m_mysql+= " ' ";

[解决办法]
CString m_mysql;

m_mysql= "
select * from [table]
where
datediff( 'd ',now(), ' " + "2007-01-31 " + " ')=0 " /*判断与2007-01-31是否属于同一天*/
and
formatdatetime(timetype,3)> =cdate( ' " + "12:22:20 " + ') ";
/*找到这一天里晚于12:22:20的信息*/

access不支持convert,formatdatetime(timetype,3)可以取得日期字段的时间部分
datediff计算两个日期之间差,可以是天或者分,年,月,日差等


读书人网 >VC/MFC

热点推荐