access表的内容:
father字段为整型name father
AAA 0
BBB 0
CCC 100
DDD 101
EEE 101执行下面的代码时为什么会报数据类型不匹配呢?
int ifather=100; 
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM functree WHERE father='%s'",ifather);

解决方案 »

  1.   

    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM functree WHERE father=%s",ifather);
    整型不用 ' 号
      

  2.   

    楼上的兄弟,你说的方法我也试过,但也报错:Syntax error in query expression 'father=%s'.
      

  3.   

    father字段为整型,这里应是
    'father=%d'.
      

  4.   

    str.Format("SELECT * FROM functree WHERE father=%d",ifather);
    //%d 不用'%d'. %s 要用'%s'.
    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,str);
    可以试一下.
      

  5.   

    谢谢 tonyswe(统哥) ,用你的办法成功了。
      

  6.   

    还有要提醒你的是,,如果是%s的话要这样用str.Format("SELECT * FROM functree WHERE father=\'%s\'",ifather);//如果ifather是字串的话助你成功
      

  7.   

    ft,这个问题应该是tyonswe那样呀!
      

  8.   

    晕倒中int ifather = 100;
    RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM functree WHERE father=%d",ifather);要这样才可以的