首先%只能代表半个字符,一个字要用%%,而且%,?都会限定字符串长度,只有*才是不定长的。而在98下,由于MS的数据引擎有问题所以查询出来的结果有错,在WIN ME或2000中就会找到正确结果。如果要解决这个问题,你就要安VS SP4。在MS的站上有,不过很大。FULL版有120MB以上,FOR VB的有55MB。

解决方案 »

  1.   

    vb中的模糊查询是用*实现的,不同于标准sql语句的%一 vb的sql非标准二 汉字占两个字节,请用双子节查询具体情况请参照msdn中sql。。
      

  2.   

    请各位大侠留下一个例(哪怕是一句简单的sql="......"),我想这样对我才会很大的帮助
      

  3.   

     sql="select * form 项目库 where 项目承担人 like ('王克%')" means that
    displays all records from customer having a company name that begins with an uppercase 王克 and is an unknown length.
    而且MSDN里的写法是没有括号的。
      

  4.   

    我强烈建议你安装VSSP4CN!!!!!!!
    不安装的话,在98下用JET数据引擎是无法得到正确结果的!你可以试试VB中带的可视化数据管理器,不安VSSP4CN用它查出的结果也是错的!安装以后就一切OK!
    而WINME和WIN2000下不安也行.因为它们代的数据库引擎是新版的.你也可以试试先安VB再安OFFICE2000,用它的数据引擎覆盖VB里的。而你查询语句本身是没有什么问题的。
      

  5.   

    emailofxuxu 老兄
    你就把你原来的语句中  的 %  换成 *  不就结了
    这个完全没问题,
      

  6.   

    ADO的LIKE用%
    DAO 用 *
    data控件用的是DAO
      

  7.   

    在ACCESS和SQL SERVER中是不相同的,听zbzb的,试试看吧.
      

  8.   

    这样就可以 :sql="slect * form 项目库 where 项目承担人 like N'%王克%'"