0

これは、準備されたステートメントを使用してデータベースにいくつかの値を入力しようとしていますが、この null 例外を取得しようとしているコードです。

java.sql.PreparedStatement stmt1 = null;
for(int index2=0;index2<3;index2++)
{
  for(int index1=0;index1<5;index1++)
  {   
     String tt = "INSERT INTO   timetable(col1,col2,col3,col4,col5) VALUES(?,?,?,?,?);";
     stmt = con.prepareStatement(tt);
     stmt1.setInt(index1+1,index1*index2);
  }
  int success = 2;
  success = stmt1.executeUpdate();
 }
4

4 に答える 4

5

ここ

stmt=con.prepareStatement(tt); // use stmt1 instead of stmt
stmt1.setInt(index1+1,index1*index2);// this is NULL

初期化した上記の行でstmt

于 2013-04-24T11:49:36.160 に答える
2

stmt1を初期化しますが、まだ null です。

于 2013-04-24T11:50:06.540 に答える
0

そのはず

stmt1=con.prepareStatement(tt);
stmt1.setInt(index1+1,index1*index2);

そしてそうではない

stmt=con.prepareStatement(tt);
stmt1.setInt(index1+1,index1*index2);

これが完全なコードである場合、2 番目のコードはコンパイル エラーになるはずです。

于 2013-04-24T11:52:13.347 に答える