Hallo,
habe ein Problem. Ich versuche schon seit Tagen Datensätze oder Zeilen aus einem Datagridview, welches Daten aus meiner MySQL Datenbank darstellt zu löschen. Es soll im DGV per Maus eine Zeile angeklickt werden können, um diese ausgewählte Zeile dann per Button zu löschen. Siehe folgenden Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40:
| public void delete_row(string myConnectionString) { try { if (myConnectionString == "") { myConnectionString = "Database=jericho_db;Data Source=localhost;" + "UID=root;Password=password"; }
MySqlConnection myConnection = new MySqlConnection(myConnectionString); MySqlCommand myCommand = new MySqlCommand("Delete from person where name=?name ", myConnection); myCommand.Parameters.AddWithValue("?name", tbl_view.SelectedRows); myConnection.Open(); myCommand.ExecuteNonQuery(); myCommand.Connection.Close(); MessageBox.Show("Data deleted !"); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message, "MySQL Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message, "Unknown Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); }
MySqlConnection connection = new MySqlConnection(myConnectionString); MySqlDataAdapter da = new MySqlDataAdapter("Select * from person", connection); DataTable data = new DataTable(); da.Fill(data); tbl_view.DataSource = data; tbl_view.Show(); txtbox_id.Text = ""; } |
Wenn ich myCommand.Parameters.AddWithValue("?name", txtbox_name) probiere funktioniert es ohne Probleme, wenn ich den Namen in die Textbox eingebe. Der ganz Datensatz wird also gelöscht. Warum funktioniert es nicht wenn ich es so mache: myCommand.Parameters.AddWithValue("?name", tbl_view.SelectedRows);???? Kann mir bitte einer Helfen, wenn möglich mit Code Beispiel.
Vielen Dank!
cubx
Moderiert von
Th69: C#-Tags hinzugefügt sowie kleine Rechtschreibfehler bereinigt (Wörterbuch im FF ist da recht hilfreich)