繁体   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