Laden...

CA2100 MySql Update DataGridView

Erstellt von ktownmods vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.535 Views
K
ktownmods Themenstarter:in
13 Beiträge seit 2015
vor 6 Jahren
CA2100 MySql Update DataGridView

Moin Moin,

ich versuche mein DataGridView inhalte per mysql zu updaten aber bekomme immer diesen Fehler bzw. Warnung > Fehlermeldung:

CA2100 Die in 'Logtxt.Update(int, string, string, string, string, string, string, string, string)' an 'MySqlCommand.MySqlCommand(string, MySqlConnection)' übergebene Abfragezeichenfolge könnte die folgenden 'Kundenname', 'Game', 'Bezahlung', 'Bezahlt', 'Erledigt', 'PayPalEmail', 'ACCEmail', 'ACCPW', 'id'-Variablen enthalten. Wenn eine dieser Variablen aus Benutzereingaben stammt, sollten Sie eine gespeicherte Prozedur oder eine parametrisierte SQL-Abfrage verwenden, anstatt die Abfrage mit Zeichenfolgenverkettungen zu erstellen.

Ich bekomme es einfach nicht hin die Warnung für Update zu fixen(für Add habe ich sie gefixt also Insert to xxx)

jemand hier der mir damit helfen kann?

Danke schonmal und hier noch der Update code:

private void Updatebtn_Click(object sender, EventArgs e)
        {
            String selected = dgv.SelectedRows[0].Cells[0].Value.ToString();
            int id = Convert.ToInt32(selected);
            Update(id, Kundennametxt.Text, Gamecbb.Text, Bezahlungcbb.Text,Bezahltcbb.Text, Erledigtcbb.Text, PayPalEmailtxt.Text,ACCEmailtxt.Text, ACCPWtxt.Text);
        }
		
		private void Update(int id, string Kundenname, string Game, string Bezahlung, string Bezahlt, string Erledigt, string PayPalEmail, 
            string ACCEmail, string ACCPW)
        {
            string sql = "UPDATE kunden SET Kundenname='" + Kundenname + "',Game='" + Game + "',Bezahlung='" + Bezahlung + 
                "',Bezahlt='" + Bezahlt + "',Erledigt='" + Erledigt + "',PayPalEmail='" + PayPalEmail +
                "',ACCEmail='" + ACCEmail + "',ACCPW='" + ACCPW + "' WHERE ID=" + id + "";
            cmd = new MySqlCommand(sql, con);
            try
            {
                con.Open();
                adapter = new MySqlDataAdapter(cmd)
                {
                    UpdateCommand = con.CreateCommand()
                };
                adapter.UpdateCommand.CommandText = sql;
                if (adapter.UpdateCommand.ExecuteNonQuery() > 0)
                {
                    ClearTxts();
                    MessageBox.Show("Successfully Updated");
                }
                con.Close();
                Retrieve();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                con.Close();
            }
        }
16.835 Beiträge seit 2008
vor 6 Jahren

[Artikelserie] SQL: Parameter von Befehlen

String Frickeleien von SQL Befehlen sind ein massives Sicherheitsrisiko - und u.a. auch schuld an Anwendungsfehlern wie diesem.

Zudem gehört ein SQL Befehl nicht in die UI.
[Artikel] Drei-Schichten-Architektur

K
ktownmods Themenstarter:in
13 Beiträge seit 2015
vor 6 Jahren

Dank dir werde mir das mal durchlesen hoffe ich kapier es dann xD

16.835 Beiträge seit 2008
vor 6 Jahren

Bisher hats jeder verstanden; einfach Schritt für Schritt angehen, dann klappt das.