Erro de statement

Estou usando o hsqldb_1_8_0_5, assim:


public class Database {
	public static final String DRIVER   = "org.hsqldb.jdbcDriver";
	public static final String URL		= "jdbc:hsqldb:database;create=true;?user=sa&password=''";
	public static Connection conn;
	public Database(){
	}
	
	public static void connect(){
		try{
			Class.forName(DRIVER).newInstance();
			conn = DriverManager.getConnection (URL);
		}catch (ClassNotFoundException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}catch (IllegalAccessException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}catch (InstantiationException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}catch (SQLException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}
	}
	
	public static void disconnect(){
		try{
			conn.close();
			
		}catch (SQLException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}
		
	}
	public static void createDatabase(){
		String sql =
			"CREATE TABLE INFO (" +
				"COD INT GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL PRIMARY KEY ,"+" NAME VARCHAR(50) NOT NULL," + "DATA DATE NOT NULL,"+
				"VALUE FLOAT NOT NULL," + "ANSWER BOOLEAN NOT NULL" +
			")";
		
		try{
			Statement st = conn.createStatement();
			st.execute(sql);
		}catch (SQLException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}
	}

                public static void populateDatabase(int n){
		for (int i=1;i<=n;i++){
		String sql =
			"INSERT INTO INFO (NAME,DATA,VALUE,ANSWER) VALUES ('BLA',CURRENT_DATE,100,'1')";
		
		try{
			Statement st = conn.createStatement();
			st.execute(sql);
		}catch (SQLException e){
			System.err.println(e.getMessage());
			System.err.println(e.getStackTrace());
		}
		}	
	}
//aqui tem outras operacoes com o banco (seleção, atualização...)

public static void main (String[] args){
	    
		Scanner input = new Scanner (System.in);
		System.out.print("Entre com o numero de operações:");
		int n = input.nextInt();
		
		long inicioConexao = System.currentTimeMillis();
		Database.connect();
		Database.createDatabase();
		Database.disconnect();
		long fimConexao = System.currentTimeMillis() - inicioConexao;
		long tempoConexao = (fimConexao/1000);
		System.err.println("A criação foi concluída em "+fimConexao+" milisegundos, portanto "+tempoConexao+" segundos.");
	
                long inicioInsere = System.currentTimeMillis();
		Database.connect();
		Database.populateDatabase(n);
		Database.disconnect();
		long fimInsere = System.currentTimeMillis() - inicioInsere;
		long tempoInsere = (fimInsere/1000);
		System.err.println("A Inserção foi concluída em "+fimInsere+" milisegundos, portanto "+tempoInsere+" segundos.");

//aqui tem metodo das outras operacoes 	com o banco (seleção, atualização...)

Ele cria as tabela sem erros pelo java , mas quando faço as outras operações (inserção, seleção, atualização, seleção, drop) ele da
esse erro: (no caso esse é o erro quando eu faço um insert)

Entre com o numero de operações:1
Table not found in statement [INSERT INTO INFO]
[Ljava.lang.StackTraceElement;@253498
A Inserção foi concluída em 609 milisegundos, portanto 0 segundos.

Nao sei o que ele quer dizer com statement

Quando uso o runManager, que eh uma interface grafica do banco, eu conecto normal e la consigo fazer as operacoes todas (criação, inserção, seleção, atualização, seleção, drop).

Se alguem tiver uma luz… nao sei mais o que eu faço, onde que ta o problema…

Obrigado

Cara usa um PreparedStatement !!!

[code] PreparedStatement stmt = this.connection.prepareStatement(“insert into contatos (nome,email,endereco) values (?, ?, ?)”);

	// seta os valores
	stmt.setString(1,registro.getNome());
	stmt.setString(2,registro.getEmail());
	stmt.setString(3,registro.getEndereco());
	
	// executa
	stmt.execute();
	stmt.close();[/code]