以下代码目的是从一个表中取出TIME字段大于strStartTime
并且小于strEndTime的记录:
CString strFilter;
CString strStartTime="1979-10-10";
CString strEndTime="2003-10-10";strFilter+= "TIME>#"+ strStartTime + "#";strFilter+= "and TIME<#" + strEndTime + "#";
CRecordSet m_Set;
m_Set.m_strFilter=strFilter;
m_Set.Open();运行时报错了,不能获得记录集 请大家指教
并且小于strEndTime的记录:
CString strFilter;
CString strStartTime="1979-10-10";
CString strEndTime="2003-10-10";strFilter+= "TIME>#"+ strStartTime + "#";strFilter+= "and TIME<#" + strEndTime + "#";
CRecordSet m_Set;
m_Set.m_strFilter=strFilter;
m_Set.Open();运行时报错了,不能获得记录集 请大家指教
也就是说你应该这么调用
m_Set.Open();
m_Set.SetFilter(strFilter);或者m_Set.m_strFilter=strFilter;
sSQL=sSQL+"WHERE convert(character,Log_Date,111)>'"+ sDateFrom+"'";
sSQL=sSQL+"AND convert(character,Log_Date,111)< '"+ sDateTo+"'"; 如果是ACCESS 用CDATE替换CONVERT.
sSQL=sSQL+"WHERE CDATE(Log_Date)> '"+ sDateFrom+"'";
m_Set.Open();
m_Set.SetFilter(strFilter);或者m_Set.m_strFilter=strFilter;
这样又没有用的
m_Set.m_strFilter.Format("[TIME]>'%s' and [TIME]<'%s'", strStartTime, strEndTime);