JDBC

2012-10-23 2 views
3

사용하여 Java Derby 데이터베이스에 연결하려고 나는 다음과 같은 코드를 가지고 : 날 수 있습니다JDBC

Connection conn = null; 
    Statement stmt = null; 

    // MySQL connection details. 
    String username = ("username"); 
    String password = ("password"); 
    String url = ("jdbc:derby://localhost:1527/OnlineLibrary"); 

    try { 

     // Connect to database. 
     Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();    
     conn = DriverManager.getConnection (url, username, password);    
     stmt = conn.createStatement(); 

     // Get data. 
     String query = ("SELECT PersonNo, Forename, Surname FROM Person;");      
     ResultSet rs = stmt.executeQuery(query);    
     while (rs.next()) {     
      System.out.println("Person: no: " + rs.getInt("PersonNo") + " name: " + rs.getString("Forename") + " " + rs.getString("Surname")); 
     }     

     // Disconnect from database. 
     stmt.close(); 
     conn.close(); 
    } 
    catch(Exception ex) { 
     Java_Utils.printStackTrace("Error connecting to database", ex, true);  
    }   

:

Error connecting to database 
org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) 
org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) 
org.apache.derby.client.am.Statement.executeQuery(Unknown Source) 
misc.Simple_JDBC_Test.main(Simple_JDBC_Test.java:32) 

모든 것이 나에게 괜찮아 것입니다. 연결 풀링을 사용하여 DB에 연결할 수 있지만 위의 오류를 이해하지 못합니다.

+0

라인 32은 무엇입니까? –

+0

32 번째 줄은'ResultSet rs = stmt.executeQuery (query); –

+2

입니다. 예외를 삼키지 않아서 시작하십시오 - SQLException을 잡아서 그 오류 메시지가 무엇인지보십시오 – Mark

답변

0

@Mr 모건,
대신 성명 사용 된 PreparedStatement는

의 ResultSet의 rs = stmt.executeQuery (쿼리)를 교체 의미
with

ProblemStatement pStmt = dbConnection.prepareStatement (query);

ResultSet r = pStmt.executeQuery();

출력 후 표시하십시오!

0

세미콜론을 제거하십시오 ; 명세서의 끝에 기호 :

String query = ("SELECT PersonNo, Forename, Surname FROM Person"); 

그런 다음 출력을 확인하기 위해 OnLineLibrary 데이터베이스에 관련된 쿼리를 directely 실행하고 구문이 올바른지 :

SELECT PersonNo, Forename, Surname FROM Person