C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■89191 / 親階層)  c#のデータベース削除について
□投稿者/ tetris (18回)-(2018/11/06(Tue) 13:56:47)

分類:[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分のデータを削除することができました。

何か情報が足りないところがあったら申し訳ございません。ご協力お願い致します。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: c#のデータベース削除について /WebSurfer
→Re[1]: c#のデータベース削除について /WebSurfer
 
上記関連ツリー

c#のデータベース削除について / tetris (18/11/06(Tue) 13:56) #89191 ←Now
Re[1]: c#のデータベース削除について / WebSurfer (18/11/06(Tue) 14:31) #89192
Re[1]: c#のデータベース削除について / WebSurfer (18/11/06(Tue) 14:46) #89193
  └ Re[2]: c#のデータベース削除について / tetris (18/11/06(Tue) 16:05) #89194
    ├ Re[3]: c#のデータベース削除について / WebSurfer (18/11/06(Tue) 16:46) #89197
    └ Re[3]: c#のデータベース削除について / WebSurfer (18/11/06(Tue) 17:02) #89198
      └ Re[4]: c#のデータベース削除について / tetris (18/11/08(Thu) 11:29) #89212 解決済み
        └ Re[5]: c#のデータベース削除について / WebSurfer (18/11/08(Thu) 12:22) #89216 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信