想要实现什么功能?
是and 还是 or的关系?

解决方案 »

  1.   

    string ls_sql,ls_xingming,ls_dianhua,ls_chuanzhen,ls_shouji
    dw_1.settransobject(sqlca)ls_xingming=string(sle_1.text)
    ls_dianhua=string(sle_2.text)
    ls_chuanzhen=string(sle_3.text)
    ls_shouji=string(sle_4.text)if isnull(ls_xingming) then
    ls_xingming = "";
    end if;
    if isnull(ls_dianhua) then
    ls_dianhua = "";
    end if;
    if isnull(ls_chuanzhen) then
    ls_chuanzhen = "";
    end if;
    if isnull(ls_shouji) then
    ls_shouji = "";
    end if;ls_sql="SELECT kehu_xinxibiao.kehubianhao,kehu_xinxibiao.xingming,kehu_xinxibiao.dianhua,kehu_xinxibiao.chuanzhen,kehu_xinxibiao.shouji" &
       +" FROM kehu_xinxibiao " &
    +" WHERE ( kehu_xinxibiao.xingming like '"+ls_xingming+"%' or isnull(kehu_xinxibiao.xingming,'')='' ) AND " &  
             +"( kehu_xinxibiao.dianhua like '"+ls_dianhua+"%' or isnull(kehu_xinxibiao.dianhua,'')='' ) AND " &  
             +"( kehu_xinxibiao.chuanzhen like '"+ls_chuanzhen+"%' or isnull(kehu_xinxibiao.chuanzhen,'')='' ) AND " &  
             +"( kehu_xinxibiao.shouji like '"+ls_shouji+"%' or isnull(kehu_xinxibiao.shouji,'')='' )"
    messagebox("",ls_sql)
    dw_1.setsqlselect(ls_sql)
    dw_1.retrieve()
      

  2.   

    很简单呀,你不是MESSAGE()了吗,直接在SQL中执行显示出来的串,看看结果如何。
      

  3.   

    ls_sql="SELECT kehu_xinxibiao.kehubianhao,kehu_xinxibiao.xingming,kehu_xinxibiao.dianhua,kehu_xinxibiao.chuanzhen,kehu_xinxibiao.shouji" &
       +" FROM kehu_xinxibiao " &
    +" WHERE ( isnull(kehu_xinxibiao.xingming,'') like '"+ls_xingming+"%' ) AND " &  
             +"( isnull(kehu_xinxibiao.dianhua like,'') '"+ls_dianhua+"%' ) AND " &  
             +"( isnull(kehu_xinxibiao.chuanzhen,'') like '"+ls_chuanzhen+"%' ) AND " &  
             +"( isnull(kehu_xinxibiao.shouji,'') like '"+ls_shouji+"%' )"
      

  4.   

    楼上的弟兄有错误提示呀:
    select error:在关键字'like'附近有语法错误。
      

  5.   

    用ls_sql的值在PB的SQL里运行,看看结果是什么
      

  6.   

    LIKE 是检索不出NULL值的
    1。加上 OR IS NULL
    2。加默认值 空格