簡體   English   中英

無法在Java中執行SQL查詢

[英]SQL query not executing in java

我試圖通過一個Java程序執行查詢,但沒有執行。 這是方法

 public List<Usuario> darProveedores() throws Exception{
    PreparedStatement st=null;
    ArrayList<Usuario> respuesta = new ArrayList<Usuario>();
    String consulta ="SELECT u.direccion_electronica AS dirE, "
                    + "u.login AS login, "
                    + "u.palabra_clave AS clave, "
                    + "u.rol AS rol, "
                    + "u.tipo_persona AS tipoPer, "
                    + "u.documento_identificacion AS docID, "
                    + "u.nombre AS nombre, "
                    + "u.nacionalidad AS naci, "
                    + "u.direccion_fisica AS dirF, "
                    + "u.telefono AS tel, "
                    + "u.ciudad AS ciudad, "
                    + "u.departamento AS depto, "
                    + "u.codigo_postal AS codPostal "
                    + " FROM usuarios u "
                    + " WHERE u.rol='Proveedor' ";
    try{

        iniTemp();
        establecerConexion(cadenaConexion, usuario, clave);
        st = conexion.prepareStatement(consulta);
        ResultSet r= st.executeQuery(consulta);

        while(r.next()){

            String dirE= r.getString("dirE");
            String login = r.getString("login");
            String clave = r.getString("clave");
            String rol = r.getString("rol");
            String tipoPer = r.getString("tipoPer");
            String docID = r.getString("docID");
            String nombre = r.getString("nombre");
            String naci = r.getString("naci");
            String dirF = r.getString("dirF");
            String tel= r.getString("tel");
            String ciudad = r.getString("ciudad");
            String depto = r.getString("depto");
            String codPostal = r.getString("codPostal");

            Usuario u = new Usuario(login, dirE, clave, rol, tipoPer, Integer.parseInt(docID), nombre, naci, dirF, Integer.parseInt(tel), ciudad, depto, Integer.parseInt(codPostal));

            respuesta.add(u);
        }

    }
    catch(Exception e)
    {
        e.printStackTrace();

    }

    finally{
        if (st != null) 
        {
            try {
                st.close();
            } catch (SQLException exception) {

                throw new Exception("ERROR: ConsultaDAO: loadRow() =  cerrando una conexion.");
            }
        }
        closeConnection(conexion);
    }

    return respuesta;
}

我在SQL Developer上執行了查詢,它返回了一個帶有值的表,但是當我通過此處進行查詢時,while(r.next())指令說答案中沒有行。

沒有參數時,無需使用PreparedStatement 只需使用Statement代替PreparedStatement ,然后使用st = conexion.createStatement()創建它。

暫無
暫無

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

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