あなたはこのスニペットは問題なくuser_version
を設定および取得することができますので、ご質問に記載していないコードに問題持っているように思える:
import java.sql.*;
public class Main {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
try(Statement statement = conn.createStatement()) {
statement.execute("PRAGMA user_version = 10;");
}
try(Statement statement = conn.createStatement()) {
try(ResultSet rs = statement.executeQuery("PRAGMA user_version;")) {
System.out.println(rs.getInt(1));
}
}
}
}
Sqliteをアダプタ:
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.15.1</version>
</dependency>
をあなたは正しいです - それは私でした間違い。私はメソッドのバージョンを取得し、このメソッドでは、try..finallyを使ってステートメントを閉じます。私はStatementとResultSetの間の強い参照を見落としました。 – altralaser