Hallo zusammen
Ich habe ein Form entwickelt, das u.a. 2 Listenanzeigen verwendet und Daten in eine DB abfüllt oder ausliest und nun möchte ich aufgrund des ausgewählten Eintrags in der Liste (siehe Code unten) der entsprechende Eintrag in der DB gelöscht wird
/ Falls der User Ja geklickt hat, aktiven Datensatz aus DB löschen
con.Open();
cmd.CommandText = "DELETE FROM Limiten WHERE " +
"Nettolohn = " + Nettolohn[LstAnzeige.SelectedIndex]; "
"Nettolohn = " + Nettolohn
MessageBox.Show(cmd.CommandText);
int anzahl = cmd.ExecuteNonQuery();
if (anzahl > 0)
MessageBox.Show("Datensatz gelöscht");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
con.Close();
Beim Builden des Programms erscheint folgende Fehlermeldung
Fehler CS0021 Eine Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "TextBox" angewendet werden.
Was mache ich falsch?
Danke für Eure Hilfe
Fehlermeldung ist ja eindeutig.
Indexierung auf Deine Textbox "Nettolohn" ist nicht. Zudem kann das nie ein gültiger SQL Befehl werden, denn Du kannst kein Objekt in ein SQL Command packen.
Was soll da denn rein? Die ID? Der Text?
Davon abgesehen: [Artikelserie] SQL: Parameter von Befehlen, sonst knallts.
Und [Artikel] Drei-Schichten-Architektur - DB Code gehört nicht in die UI.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code