MFC中使用ACCESS数据库的问题
我用ACCESS定义了一个时间类型的变量time,再MFC中定义了两个CTime类型的变量a1,a2。我想在查询语句中加入a1<=time<=a2的查询条件,(自己无法解...
我用ACCESS定义了一个时间类型的变量time,再MFC中定义了两个CTime类型的变量a1,a2。我想在查询语句中加入 a1<=time<=a2的查询条件,(自己无法解决)。想请教高手帮忙,谢谢!
CString str1="Select * from ids,packet where packet.sip='"+str_sip+"' and ids.ID=packet.ID and packet.recivetime between #'"+str_start+"'# and #'"+str_end+"'#";
str_start和str_end是用CTime类型转化为CString 类型的时间。m_ctimestart和m_ctimeend是CTime类
一楼的方法我肯定试过,但是不管用,所以有个经验丰富的朋友告诉我数据库中设置为文本类型的时间,然他们用ascii码进行比较,结果是肯定成功了。 展开
CString str1="Select * from ids,packet where packet.sip='"+str_sip+"' and ids.ID=packet.ID and packet.recivetime between #'"+str_start+"'# and #'"+str_end+"'#";
str_start和str_end是用CTime类型转化为CString 类型的时间。m_ctimestart和m_ctimeend是CTime类
一楼的方法我肯定试过,但是不管用,所以有个经验丰富的朋友告诉我数据库中设置为文本类型的时间,然他们用ascii码进行比较,结果是肯定成功了。 展开
展开全部
Access中比较日期的语法是这样的:
SELECT * FROM table WHERE 日期 BETWEEN #2007-1-1# and #2007-11-1#
你上面的语句
CString str1="Select * from ids,packet where packet.sip='"+str_sip+"' and ids.ID=packet.ID and packet.recivetime between #'"+str_start+"'# and #'"+str_end+"'#";
应该去掉#前后的'号.
呵呵.
SELECT * FROM table WHERE 日期 BETWEEN #2007-1-1# and #2007-11-1#
你上面的语句
CString str1="Select * from ids,packet where packet.sip='"+str_sip+"' and ids.ID=packet.ID and packet.recivetime between #'"+str_start+"'# and #'"+str_end+"'#";
应该去掉#前后的'号.
呵呵.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询