• ベストアンサー

どこが間違っているか教えてください

以下のようにするとNullPointerExceptionでエラーになってしまいます。 基本的なことかもしれませんが、どこが悪いか教えていただけないでしょうか。 Connection con =null; Statement sta =null; boolean rtn = false; StringBuffer strBuffSQL = new StringBuffer(); //Oracleへの接続 con = DBAccess.connect(); //ステートメントの作成 sta = con.createStatement(); for(int i=0; i<10; i++){ // SQL文作成 strBuffSQL.append("INSERT INTO ");          ・          ・          ・ rtn = sta.execute(strBuffSQL.toString()); } con.commit(); return rtn;

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

具体的に「何がやりたいのか?」「どんなエラー文が出ているのか」が分からないので、 抽象的にしか回答できませんが・・・ ソースを読むと、 for文内で「Insert文」を作って、それを発行して、 結果をboolean型で受けて一番最後のINSERT文の結果を 返しているということが読み取れます。 この状態でNullPointerExceptionが出るということは、 DBAccessクラスのconnect()メソッドが「null」を返していて、 それを使っているためにExceptionが出ているのだと思われます。 ちなみに、こういった質問をする際は、 ソースとエラー文を全て書きましょう! (そうしないと分かりません。)

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.2

例外のスタックトレースから、NullPointerException の発生している場所を確認しましょう。 ソースコードの行数が表示されているはずですので、そこで扱っている変数が null になっているわけです。

すると、全ての回答が全文表示されます。

関連するQ&A