プロが教える店舗&オフィスのセキュリティ対策術

ストアドプロシージャで、Accessのクエリーを実行させテーブルの中の指定したIDのデータを削除させるという流れなのですが・・
以下のソースで実行はできるのですが、削除ができていないので原因がわかりません。アドバイスお願いします。

package CallableStatement;
import java.sql.*;
import java.io.*;
public class cCallableStatement {
public static void main(String[] args) {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection db=DriverManager.getConnection("jdbc:odbc:sample","","");
CallableStatement cllDelete;
int ID = 3;
       // 削除
cllDelete = db.prepareCall("{call DELETE(?)}");
cllDelete.setInt(1,ID);
cllDelete.executeUpdate();
}

}
環境はwin2000 pro
forte for java 4.0
jdk : 1.4
データベース: Access2000

A 回答 (2件)

Accessはどうか知りませんが、JDBC-ODBCブリッジでEXCELのODBCデータソースに接続すると、SELECT/INSERT/UPDATEはできますが、DELETEはできないという制約があります。

ご参考まで。
COMMITが無いのは、ODBCデータソース側の設定でAUTO-COMMITにしてるからじゃないかなぁ。デフォルトそうだったと思います。
    • good
    • 0

予想ですがコミットを発行してないせいとかではないですか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!