私がやろうとしているのは、SQL ステートメントから ResultSet を取得し、そこから特定の値を導き出すことです。私が問題を抱えているように見えるのは、この行で発生する準備済みステートメントの準備です。
String sql = "SELECT " + dataState + " FROM " + table + whereState + ";";
java.sql.PreparedStatement prep = conn.prepareStatement(sql); // Error here
変数 conn が null でないことは既に確認済みです。ステートメント内のすべての値が null ではなく、スタック トレースがこれを示しています。
org.sqlite.PrepStmt.(PrepStmt.java:37) のjava.lang.NullPointerException
org.sqlite.Conn.prepareStatement(Conn.java:231)
org.sqlite.Conn.prepareStatement(Conn.java:224)
でorg.utilities.storagemethods.SQLiteMethod.load(SQLiteMethod.java:223) で org.utilities.DataManager.load(DataManager.java:97) で org.utilities
で org.sqlite.Conn.prepareStatement(Conn.java:213) .Test.main(Test.java:21)
sql ステートメントを印刷すると、これが得られることがわかります。
SELECT testString, testBool, testObj FROM testTable WHERE testInt=?;
指定された文字列から値を確認できます。
私が理解できないのは、これを引き起こすために私が間違っていることです.私が使用しているsqliteシステムに興味がある場合は、ここでホームページを見つけることができます: http://www.zentus.com/ sqlitejdbc/
これについて何か助けてくれてありがとう。私は完全に困惑しています。
注: リソースを節約するために、接続をキャッシュし、後で再利用していました。接続を再取得しようとすると、完全に機能します。それらをキャッシュする方法はありますか、または使用するたびにロードする必要がありますか?