表中有三个字段 sAdminUIN sMemberUINs nCreaterUIN 只要这三个字段中任何一个字段有我提供的关键字(号码)就得出改记录,我用的SQL语句如下:
sql.Format("SELECT * FROM tblMeeting WHERE (sMemberUINs LIKE '*,%d*')OR (nCreaterUIN=%d) OR (sAdminUIN LIKE '*,%d*')" ,nUIN, nUIN,nUIN);
但是两个LIKE 语句似乎都有问题,只有nCreaterUIN=%d 能有限查询   请大家帮我写条能有效执行的语句,谢谢
我只要能同时查找sMenberUINs 和nCreateUIN 就OK 了 因为sAdminUIN 和sMenberUINs 是重复的
sMenberUINs数据格式如下:,10002,10001,10003,10004 
nCreateUIN 就只有一个数字,

解决方案 »

  1.   

    sql.Format("SELECT * FROM tblMeeting WHERE sMemberUINs LIKE '%%d%' OR nCreaterUIN=%d" ,nUIN, nUIN); sql.Format("SELECT * FROM tblMeeting WHERE sMemberUINs LIKE '*%d*' OR nCreaterUIN=%d" ,nUIN, nUIN); 试试
      

  2.   

    sql.Format("SELECT * FROM tblMeeting WHERE sMemberUINs LIKE \'%%d%\' OR nCreaterUIN=%d" ,nUIN, nUIN); 
      

  3.   


    第一个运行到那句直接异常  第二个和我的语句得到的结构相同...
    我后面语句是这样打开的:
    if(pSet->IsOpen())
    pSet->Close();
    pSet->Open(CRecordset::forwardOnly,sql);
    while(!pSet->IsEOF())
    {
     ...
    }
    再次强调下 我用的数据库是access 
    二楼的语句也是报异常 
      

  4.   

    debug看一眼,这个字符串对不对。在access中写SQL查询,然后是用你debug查看到的sql和你在access中写的对比一下
      

  5.   

    degug 了 用得到的sql语句在access中能正确查找出记录 
     程序运行了就是查不到 所以....
      

  6.   

    sAdminUIN  文本
    sMemberUINs 备注
    nCreaterUIN 数字
      

  7.   

    哪么try catch一下,看看有什么错误输出?