sqlstr.Format("select * from people where date='2003-9-18')");
m_pRecordset->Open((_variant_t)sqlstr,_variant_t((IDispatch*)m_pConnection,true),adOpenUnspecified,adLockPessimistic,adCmdText);date为日期型字段应该是SQL的格式有问题,但我在SQL2000中可以执行,这是什么原因?
SQL书写的格式在VC中有无特殊的规定?
请多指教!
谢谢

解决方案 »

  1.   

    不知道是不是这样?
    CRecordset的打开操作不能使用带where字句的sql
    如果想带条件,需要设置CRecordset的m_strFilter属性
    然后
    m_pRecordset.Requery();
    ————————————————————————————
    我是菜鸟,就知道这些(还不知道对不对)
    学习
      

  2.   

    这个sql语名在ACCESS数据库中不行。
    在ORACLE 中不行。
    在SQL server 和SYBASE中行。
      

  3.   

    在ACCESS中日期为#2003-8-20#
    在ORACLE中为20-8月-03
      

  4.   

    SQL server能自动把' '中的日期转成datetime类型的
      

  5.   

    同意diwaa(地娃) 的意见! 在oracle中,可以在sql语句中使用日期转换函数就行了