- PR -

テーブルのレコードの削除について

1
投稿者投稿内容
花瓶夫
ベテラン
会議室デビュー日: 2003/10/01
投稿数: 50
投稿日時: 2003-10-02 00:32
毎回お世話になっております。MVCモデルで行っていますが、HTMLでチェックボックスで複数選択した引数を、サーブレット、Beansを通じて、Jspに削除された後のテーブルを表示させたいのですが、複数の引数の場合のソース内容が思いつきません。サーブレットでは、getParameterValues[]の配列で受けると思いますが、その後、サーブレットからBeanにセットしてJdbcに接続し選択したものが削除されるまでの一連の流れのソースコードが具体的にわかりません。具体的なソースコードをご教授願いませんでしょうか。宜しくお願いします。
パルプ
ベテラン
会議室デビュー日: 2003/06/18
投稿数: 59
投稿日時: 2003-10-02 02:24
私ならこんな感じですかねえ
下記のコードは実際には試してないので、あくまで参考に。

コード:

【サーブレット】
String[] data = request.getParameterValues("some");
BeansClass bc = new BeansClass();
bc.deleteDataFromTable(data);

【Beans】
public void deleteDataFromTable(String[] data){
   // jdbc接続(省略) (コネクションのオブジェクトをconとする)
   StringBuffer sb = new StringBuffer();
   sb.append("DELETE FROM some_table ");
   for(int i=0; i<data.length; i++){
      sb.append((i == 0) ? "WHERE " : "OR ");
      sb.append("column=? ");
   }
   PreparedStatement ps = con.prepareStatement(sb.toString());
   for(int i=0; i<data.length; i++){
      ps.setString(i, data[i]);
   }
   ps.executeUpdate();
   ps.close();
   con.close();
}



サーブレットで受け取ったフォームデータの配列をBeansに渡し、
Beansでその配列を条件にDELETEするSQLを実行する感じです。
あとは、DELETEしたテーブルから再びSELECTしてJSPに返せば良いかと。
1

スキルアップ/キャリアアップ(JOB@IT)