sql语句可以手动工作,但不能在java中工作

sql语句可以手动工作,但不能在java中工作,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,以下声明 String sql="select count(*) as n1,tw.id_tweet as n2 from tweet tw inner join tweet replica on tw.id_tweet=replica.in_reply_to_status_id_str where LOWER(replica.parola_chiave)=lower( ? ) group by tw.id_tweet,tw.parola_chiave"; Pr

以下声明

        String sql="select count(*) as n1,tw.id_tweet as n2 from tweet tw inner join tweet replica on tw.id_tweet=replica.in_reply_to_status_id_str where LOWER(replica.parola_chiave)=lower( ? ) group by tw.id_tweet,tw.parola_chiave";

        PreparedStatement stmt =conn.prepareStatement(sql);
        stmt.setString(1,parola_chiave_in_esame);
        ResultSet rs = stmt.executeQuery();

        while(rs.next())
        {
         System.out.println("asd"+rs.getInt("n1"));
        }
        rs.close();
        stmt.close(); 

手动工作,但在Java中返回一个空集。如果我删除了它工作的条件(显然结果不是我想要的)。。为什么?

我猜,您的输入值(parola_……)可能错误(或)为空。当您手动运行该语句时,该语句看起来如何?显然它里面没有
,那么你用什么来代替
?那么,你已经试过了:
stmt.setString(1,“Melo”)试试LOWER(tw.parola\u chiave)=“melo”而不使用lowerWell,您确定您的Java连接与手动运行时连接的Java连接相同吗?