簡體   English   中英

Java + Oracle中的SQL查詢

[英]SQL Query In Java + Oracle

在使用Java的過程中,我真的很想讓這個SQL陷入困境。

我的問題是:我想在我的sql查詢中使用一個變量,並且我似乎無法使其正常工作,它捕獲了正確的值(我在標簽上顯示了它),但是它沒有顯示任何記錄,但是,如果我將變量替換為“ 5”,它顯示了正確的記錄...

        try {
             Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = MySqlConnect.ConnectDb();


           int idaca = Integer.parseInt(idhist.getText());
  String query1 = "SELECT t.nome, h.Valor_Atual, h.Valor_Antigo, a.nome
                      FROM  Tecnologias t, Historico h, Academista a 
                       WHERE h.Id_Academista = a.Id_Academista AND a.Id_Academista = "+idaca+" AND h.Id_Tecnologia = t.Id_Tecnologia
                        AND (h.Valor_Atual || h.Valor_Antigo  || t.nome)  LIKE '%" + ValToSearch + "%'";

            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(query1);

            historico history;

            while (rs.next()) {
                history = new historico(rs.getString("Nome"), rs.getInt("Valor_Antigo"),
                        rs.getInt("Valor_Atual"), rs.getString("Nome"));
                historicoList.add(history);
            } //END WHILE
        } //END TRY
        catch (Exception e) {
            JOptionPane.showInputDialog(null, e);
        }//END CATCH 

到目前為止,這就是我的代碼。

先感謝您! 干杯

AND h.Id_Tecnologia之前放置一個空格。 那應該解決您的問題。

您不擔心在ValToSearch得到類似' OR 1 IN (DELETE * FROM Tecnologias )嗎? 使用參數轉義或更好的一些查詢生成器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM