你将查不到的两处改动一下看看,应该是like '字符'这里少了两个''号;
stmt1.setString(1,"");
改为:
stmt1.setString(1,"''");
0A
stmt1.setString(1,"XXX");
0A改为:
stmt1.setString(1,"'XXX'");==============================
在下所说,也许并非正确,请从建议的角度批判地吸收!

解决方案 »

  1.   

    csdn客户端工具bug也太多了,居然出了好几个乱码:
    第一处应改正为
    stmt1.setString(1,"''");
    0A第二处应改正为:
    stmt1.setString(1,"'XXX'");
    ==============================
    在下所说,也许并非正确,请从建议的角度批判地吸收!
      

  2.   

    靠,我不得不用ie上来一下了
    是改正为
    stmt1.setString(1,"'%'");

    stmt1.setString(1,"'XXX'");
      

  3.   

    但是如果是
    PreparedStatement stmt1 = con.prepareStatement(
            "select * from history where station=?");
    stmt1.setString(1,"XXX");
    查询得到结果,而
    Statement stmt1=con.createStatement();
    rs=stmt1.executeQuery("select * from history where station = 'XXX'");
    也查得到啊
      

  4.   

    我知道
    PreparedStatement stmt1 = con.prepareStatement(
            "select * from history where station=?");
    stmt1.setString(1,"XXX");
    可以查询到结果,但我要用模糊查询,要用到%号,所以一定要用like来代替等号,请问有什么方法解决?