2014-04-07 58 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 Developer中的查詢方法,它返回一個值的表,但是當我 通過這裏做的,而(r.next())指令說,有中沒有行答案

+1

也許你連接到錯誤的數據庫? – gerrytan

+0

不,「establecerConexion」方法做這項工作,它工作正常,我用它在其他查詢工作正常 – JsMartinez

回答

1

如果沒有參數,則不需要使用PreparedStatement。只需使用Statement來代替PreparedStatementst = conexion.createStatement()即可創建它。

+0

我已經這樣做,但它仍然不會進入while() – JsMartinez