首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

ado访问access数据库 sql语句 where语句中匹配时间类型 CONVERT解决办法

2012-01-29 
ado访问access数据库sql语句 where语句中匹配时间类型CONVERTVC++adoaccess数据库table表中有个timetype列

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计算两个日期之间差,可以是天或者分,年,月,日差等


热点排行