В таблице SQL нет строк - PullRequest
       1

В таблице SQL нет строк

2 голосов
/ 10 декабря 2011

Код ниже компилируется / запускается без ошибок. Он создал базу данных, в которой есть таблица TEST, но в таблице нет строк. Что я делаю неправильно? Я могу испортить подготовленное заявление, но не могу понять где. Пожалуйста, помогите, спасибо.

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);
            }
        }
    }
}

1 Ответ

8 голосов
/ 10 декабря 2011
// Wrong
for (int i = 1; i>25; i++ )  { 
   ...
}

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