0
Mein Code erzeugt den folgenden Fehler:Ausnahme geworfen: 'System.Data.SqlClient.SqlException' in System.Data.dll Zusätzliche Informationen: Falsche Syntax nahe dem Schlüsselwort 'Table'
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
Additional information:
Incorrect syntax near ')'.
Mein Code ist:
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter("Update [Table] Set [Name]='" + textBox2.Text + "',[Course]='" + comboBox1.Text + "',[YearSection]='" + textBox3.Text + "' Where [Id]='"+textBox1.Text+"')", conn);
sda.SelectCommand.ExecuteNonQuery();
conn.Close();
MessageBox.Show("Updated Successfully !!!");
Kann mir jemand helfen zu verstehen, warum das nicht funktioniert.
Verwenden Sie nie Zeichenfolge Verkettung, um Abfrage zu erstellen, weil es zu SQL-Injektion führt. Verwenden Sie stattdessen SQL-Parameter. –
Ich empfehle die Verwendung von SQL Server Management Studio (SSMS), das mit SQL Server geliefert wird. Normalerweise verifiziere ich meine Abfragen in SSMS, bevor ich die Abfragen in den C# -Code setze. Die Fehlermeldung in SSMS ist viel besser als C#. Ich empfehle auch, den String Format statt '+' zu verwenden: string.Format ("Update [Tabelle] Set [Name] = '{1}', [Kurs] = '{0}', [YearSection] = '{ 2} 'Where [Id] =' {0} '", TextBox1.Text, ComboBox2.Text, ComboBox3.Text); – jdweng