我在程序中需要对于日期型数据进行查找
因为以前没有遇到过日期型的问题,只能凭着感觉写
我的代码是这样的CString s = dlg.m_find3.Format(VAR_DATEVALUEONLY);
m_Set.m_strFilter="[出生日期]"+dlg.m_Getstring+"'"+s+"'";
m_ListCtrl.DeleteAllItems();
m_Set.Requery();if(m_Set.IsEOF())

   AfxMessageBox("没有符合条件的记录");
   m_Set.Close();
   return ;
}
ddlg.m_Getstring中保存的是关系运算符比如“>=,<=,=”
dlg.m_find是COleDateTime类型
系统老是提示我语法错误。
大家有什么高见,麻烦给指点一下
我是初学者,先谢谢了

解决方案 »

  1.   

    先将你的SQL语句在数据库中直接执行,看语句是否正确。
    另外为了提高程序的通用性,建议你不使用汉语的字段名。
      

  2.   

    你的数据库是sql server还是access,如果是access要改为:
    m_Set.m_strFilter="[出生日期]"+dlg.m_Getstring+"#"+s+"#";
      

  3.   

    不好意思,我这里上网不方便,给大家的回信晚了。不过分是一定会加的。
    to small_wei(small)
    我把m_Set.m_strFilter改为
            "[出生日期]"+dlg.m_Getstring+"#"+s+"#";
    或者     "[出生日期]"+dlg.m_Getstring+s;
    程序执行过程中不再提示语法错误,但是查询结果却不对头。
    当dlg.m_Getstring为=,>=,<=时,查询结果都不正确。
      

  4.   

    最好先将你的SQL语句在数据库中直接执行,看语句是否正确。
      

  5.   

    to small_wei(small) 
    惭愧得很,
    我不知道如何在数据库中直接执行SQL语句,能给一段代码演示一下吗?