2012-04-29 4 views
1

私はアプリケーションテーブルを空にするためにjavaコードのこれらの行を書きましたが、実行後には何も起こりません。 テーブルをHSQLDBで空にするには?

Class.forName("org.hsqldb.jdbc.JDBCDriver"); 
Connection con = DriverManager.getConnection("jdbc:hsqldb:file:ordini", "root", "root"); 
Statement stmt = con.createStatement(); 
if(ORDINI) stmt.executeUpdate("DELETE FROM ordini"); 
if(ORDINI_HISTORY) stmt.executeUpdate("DELETE FROM ordini_history"); 
if(PRODOTTI) stmt.executeUpdate("DELETE FROM prodotti"); 

私はすでにTRUNCATE TABLEステートメントで試したことがありますが、同じことです。

+1

コミットしますか?または、自動コミットがtrueに設定されていますか? –

+0

いいえ私は自動コミット接続プロパティを設定しませんでしたが、コードの最後に "con.commit()"を実行しようとしましたが、テーブルはまだ空ではありません。 – Alfr3d

+0

コードで使用されているファイルとは異なるファイルを探しているか、3つのフラグがすべてfalseである可能性があります。コードをデバッグして、相対パスではなく絶対パスを使用してみてください。 –

答えて

0

ステートメントを実行した直後にプログラムが終了するようです。あなたが最後に次の行を追加する場合、それは動作するはずです:

stmt.executeUpdate("SHUTDOWN"); 
関連する問題