2010-12-06 132 views
1

我試圖做一些querys到我創建了一個數據庫,但我有連接到它的問題:SQLite數據庫連接問題的Java

enter code here import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 


public class GestorBase{ 
private ResultSet resultset; 
private static Connection con; 
private Statement sentencia; 

public static void main(String[] args) throws SQLException, ClassNotFoundException{ 

    Class.forName("org.sqlite.JDBC"); 




    try { 
     con=DriverManager.getConnection("jdbc:sqlite:db/Freepark.sqlite"); 
    } catch (SQLException e) { 

     System.out.println("error al buscar la base de datos"); 
    } 

     Statement sentencia = con.createStatement(); 




    String query = "SELECT * FROM Restaurantes"; 

    ResultSet resultset = sentencia.executeQuery(query); 





     while(resultset.next()) 
     { 
      String nombre = resultset.getString("NOMBRE"); 
      String calle = resultset.getString("CALLE"); 
      int codigo = resultset.getInt("CODIGO"); 
      System.out.println("Codigo de restaurante: "+codigo+"Nombre de restaurante: "+ nombre +" 
     Calle del restaurante: "+ calle); 
     } 



    } 
} 

而我得到的控制檯消息是:

error al buscar la base de datos 
Exception in thread "main" java.lang.NullPointerException 
at GestorBase.main(GestorBase.java:27) 

第27行是「語句sentencia = con.createStatement();」一個,所以我想這就是那個空指針異常生成器?但是我也得到了「錯誤的基礎數據庫」消息,女巫是catch塊內的一個,這意味着「語句sentencia = con.createStatement();」行太對了?任何人?:_

回答

1

您在con=DriverManager.getConnection行有錯誤,被System.out.println("error al buscar la base de datos");指令屏蔽。另一個錯誤是由第一個錯誤造成的,只是忽略它。 要看到真正的錯誤是什麼,只是刪除try ... catch圍繞getConnection調用,就像這樣:

public static void main(String[] args) throws SQLException, ClassNotFoundException{ 

    Class.forName("org.sqlite.JDBC"); 
    con=DriverManager.getConnection("jdbc:sqlite:db/Freepark.sqlite"); 
    Statement sentencia = con.createStatement(); 

    .... 

} 
+0

我已刪除try catch塊,現在我得到這個在控制檯: – Robert13 2010-12-06 22:44:13