|
分類:[C#]
どうしてもエラーが改善できないため、助けを願います。 No89139の質問をしたプログラムの続きです。
やりたいこととしてはaccdb形式のデータベースのテーブル データ一覧_T からフォーム上のListviewにデータを抽出していて フォーム上のListviewからデータを消すと、データベースのデータも消える という仕組みを作りたいです。
ListViewからデータを抽出するところまではできています。
プログラムは次のようになっています。 ListViewItem item = new ListViewItem(); item = listView1.SelectedItems[0];
conn.Open(); command.CommandText = "DELETE From データ一覧_T WHERE 時刻=?"; command.Parameters.AddWithValue("@zikoku", item); command.Connection = conn; command.ExecuteNonQuery(); conn.Close();
最初にitemという変数にListview1上でクリックし選択したデータ(これが時刻)を代入し、itemに時刻情報を入れます(String型) 仮にこの時の時刻情報が「09時00分」という情報だったとします。 これを WHERE 時刻 =? とすることでパラメータクエリを使って次の行でitem変数を入れています。
こうすることによってデータベース上で時刻が 09時00分 の列が消えてくれれば・・・と思っています。 ところがエラーが出てしまい、正常に実行ができません。 エラーメッセージは以下の通りです。 デリートを実行するボタンを押したタイミングで
"複数ステップの OLE DB の操作でエラーが発生しました。 各OLE DB の状態の値を確認してください。作業は終了しませんでした"
と出ます。 ちなみに command.CommandText = "DELETE From データ一覧_T WHERE 時刻='09時00分'"; と書き換え command.Parameters.AddWithValue("@zikoku", item); この行をコメントアウトした結果、正常に09時00分のデータを削除することができました。
何か情報が足りないところがあったら申し訳ございません。ご協力お願い致します。
|