2010-12-06 12 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行目は "Statenc sentencia = con.createStatement();"というものなので、nullpointer例外ジェネレーターと思われますか?しかし、私はまた、 "エラーal buscar en la base de datos"メッセージを取得し、魔女はcatchブロック内のものであり、 "Statement sentencia = con.createStatement();"という行に問題があることを意味します。誰ですか?:

答えて

1

System.out.println("error al buscar la base de datos");命令でマスクされたcon=DriverManager.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

私はトライcatchブロックを削除しているし、今私は、コンソールでこれを取得する:スレッド「メイン」Javaで – Robert13

+0

例外を本当の誤差があり、ちょうどこのように、getConnectionコール周りtry ... catchを削除するかを確認する .sql.SQLException:org.sqlite.DBでorg.sqlite.DB.throwex(DB.java:288)org.sqlite.NestedDB._openで \t(NestedDB.java:73) \tのメモリ \tのうち.open(DB.java:77) \t at org.sqlite.Conn。 (Conn.java:88)java.sql.DriverManager.getConnectionメソッドでorg.sqlite.JDBC.connect(JDBC.java:64)java.sql.DriverManager.getConnectionメソッドで \t(不明なソース) \t(で \t不明なソース) \t GestorBase.main(GestorBase.java:21) 何か考えていますか?:_ – Robert13

+0

"メモリ不足"があります。 -Xmxオプションを指定してJavaを起動してください(たとえば、-Xmx512m)。 – Flavio

関連する問題