string RequestParams="select * from tmp where 1=1 ";if(DJ.Text.Length!=0)
{
RequestParams+=("AND JH LIKE \'%"+DJ.Text+"%\' ");
}
程序如上,数据库里有JH为"W1-11-14",DJ中输入"-11-"查不出来,输入"W1-"却可以,难道"%"只能用在后边匹配吗?请高手指教!

解决方案 »

  1.   

    RequestParams+=("AND JH LIKE '%"+DJ.Text+"%' ");调试一下,看这个SQL是什么,然后拷到ORACLE中执行看看估计是SQL语句生成出错了.
      

  2.   

    同意楼上,SQL语句出现 问题的几率比较大
      

  3.   

    不行,在oracle中执行是没有问题的!!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    是从 RequestParams 这个变量生成的SQL语句 拷过去执行的吗?
    还是你自己手写的SQL语句啊?
      

  5.   

    你还是加断点调试一下吧,看生成的SQL语句是什么样的,才能知道问题出在哪里.
      

  6.   

    加断点后,"SELECT * FROM DBA051 WHERE 1=1 AND JH LIKE '%14%' OR JH LIKE '%14%' ORDER BY JH ASC"
    查不出"W1-14-11","W1-11-14",怎么会事呀?