0

JavaDB と Derby を使用してデータベースを変更しています。ビューを作成しようとしていました

statement.executeUpdate(SQLUpdate);

ビューを作成するための SQL コマンドであるクエリはどこSQLUpdateにありましたが、何らかの理由で、Java は SQLUpdate で NullPointerException をスローしますprivate String SQLUpdate;。//最初はローカル変数として宣言しようとしましたが、その後、クラス全体で使用できるプライベート変数として宣言することにしました。これが C++ の場合、私はこれを機能させますが、これが Java であることを考えると、ポインター ビジネスにアクセスすることはできません。

Java が NullPointerException をスローしている理由について誰かが診断してくれますか? //こちらのドキュメントを読みました: http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate%28java.lang.String%29 (を探してくださいexecuteUpdate())、しかしSQLクエリを文字列変数に保存してから使用することについては何も言いませんexecuteUpdate(myStringVariable);

4

3 に答える 3

1

NullPointerExceptionメソッドを呼び出したり、null のオブジェクトのプロパティを参照しようとすると、Java はスローします (通常は NPE と省略されます)。

上記のコメントで述べたように、statementオブジェクトは null である可能性があります。または、ステートメントのメソッド内の何かがその方法でプロパティにexecuteUpdateアクセスしようとしている可能性があります。null

スタック トレースを見ると、どの行でエラーが発生したかが正確にわかり、どのオブジェクトが null であるかを診断するのに役立ちます。

于 2013-05-22T21:03:43.060 に答える