2014-04-07 6 views
0

Java 프로그램을 통해 쿼리를 실행하려고 시도했지만 실행되지 않습니다. 여기java에서 SQL 쿼리가 실행되지 않습니다.

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 개발자에 쿼리를 실행 한 방법 그리고 그것은 값 테이블을 반환하지만 내가 여기를 통해 그것을 할 때 잠시 (r.next()) 명령은 더 행이 없을 말한다 대답

+1

아마도 잘못된 데이터베이스에 연결하고 계십니까? – gerrytan

+0

아니요, "establecerConexion"메서드는 해당 작업을 수행하며 정상적으로 작동하는 다른 쿼리에서이 메서드를 사용했습니다. – JsMartinez

답변

1

매개 변수가없는 경우 PreparedStatement을 사용할 필요가 없습니다. PreparedStatement 대신 Statement을 사용하고 st = conexion.createStatement()을 사용하면됩니다.

+0

나는이 작업을 수행했지만 여전히 while()을 입력하지 않습니다. – JsMartinez

관련 문제