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();"という行に問題があることを意味します。誰ですか?:
私はトライcatchブロックを削除しているし、今私は、コンソールでこれを取得する:スレッド「メイン」Javaで – Robert13
例外を本当の誤差があり、ちょうどこのように、(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
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。"メモリ不足"があります。 -Xmxオプションを指定してJavaを起動してください(たとえば、-Xmx512m)。 – Flavio