• 締切済み

ListBoxの選択した項目を削除したら、DBの同じデータの行も削除を

ListBoxの選択した項目を削除したら、DBの同じデータの行も削除をしたいです。 環境:XP-Pro/VB2005/SQLServer2005 簡単なSchedule管理ソフトを作成しています。 画面には左側にMonthCalendar、開始時間を表示するDomainUpDown、件名、内容を入力するTextBoxと登録ボタンがあり、左側にListBox、その下に修正ボタン、削除ボタンが配置してあります。 登録ボタンを押すとListBoxに内容が表示されると同時にDBにデータが保存されます。 DBのテーブル:Shortは startdate(日付) DateTime start(開始時間) varchar(50) subject(件名) varchar(50) contents(内容) varchar(50) *日付と開始時間は複合主キー 今回は登録した項目を選択して削除ボタンをクリックしたら、DB内の同じ内容も削除するという動作です。 分からない部分はDBに接続してコネクションを定義した後のSQLステートメントです。 現在は、 connection.Open() Command.CommandText = "DELETE FROM Short WHERE start = '" & ListBox1.SelectedIndex &"'" Command.ExecuteNonQuery connection.Close() となっています。が削除されませんでした。 SQLステートメントで"ListBoxの選択している項目と同じ行"というようにWHERE句で定義したいのですが分かりません。 ご指導よろしくお願いいたします。

みんなの回答

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

おはようございます。 検証はしていませんが、#1のpdragonさんと同意見です。 「ListBox1.SelectedIndex」は「選択されている行番号」です。実際の値ではありません。 表示されている値を取得したいのならば「ListBox1.SelectedItem.Text」です。

すると、全ての回答が全文表示されます。
  • pdragon
  • ベストアンサー率35% (5/14)
回答No.1

手元にVB2005もWindowsも無いのでアレなんですが、 startの値が表示されているのなら、 DELETE FROM Short WHERE start='" & ListBox1.SelectedItem.Text & "'" でいけませんかね

すると、全ての回答が全文表示されます。

関連するQ&A