2011-12-10 24 views
2

以下のコードはエラーなしでコンパイル/実行されます。テーブルTESTを持つデータベースを作成しましたが、テーブルには行がありません。私は間違って何をしていますか?私は準備されたステートメントを台無しにしているかもしれませんが、どこで把握できません。助けてください、ありがとう。SQLテーブルに行がありません

public class H2Test { 
    public static void main (String[] args) throws ClassNotFoundException, Exception { 
     Class.forName("org.h2.Driver"); 
     Connection conn = null; 
     String path = "E:\\Dropbox\\Personal\\Development\\BlueJ examples\\sql_test\\"; 
     String dbName = "h2db"; 
     String s2 = "s2"; 
     String s3 = "s3"; 
     try { 
      conn = DriverManager.getConnection("jdbc:h2:" + path + dbName, "sa", ""); 
      conn.setAutoCommit(false); 
      Statement statement = conn.createStatement(); 
      statement.setQueryTimeout(30); 
      statement.executeUpdate("DROP TABLE IF EXISTS TEST;"); 
      statement.executeUpdate("CREATE TABLE TEST (id IDENTITY PRIMARY KEY, name VARCHAR(255), job VARCHAR(255));"); 
      PreparedStatement prep = conn.prepareStatement ("insert into TEST values (?,?,?);"); 
      for (int i = 1; i>25; i++) { 
       prep.setInt(1, i); 
       prep.setString(2, s2); 
       prep.setString(3, s3); 
       prep.executeUpdate(); 
       conn.commit(); 
       conn.setAutoCommit(true); 
      } 
     } 
     catch(SQLException e) { 
      System.err.println(e.getMessage()); 
     } 
     finally { 
      try { 
       if(conn != null) 
        conn.close(); 
      } 
      catch(SQLException e) { 
       System.err.println(e); 
      } 
     } 
    } 
} 

答えて

8
// Wrong 
for (int i = 1; i>25; i++) { 
    ... 
} 

// Better 
for (int i = 1; i <= 25; i++) { 
    ... 
} 
+0

DUH!ありがとう! (受け入れるのに6分待たなければならない、申し訳ありません) – koenbro

関連する問題