2016-12-11 4 views
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.

+6

Verwenden Sie nie Zeichenfolge Verkettung, um Abfrage zu erstellen, weil es zu SQL-Injektion führt. Verwenden Sie stattdessen SQL-Parameter. –

+0

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

Antwort

1

Entfernen Sie die) am Ende Ihrer Abfrage

Verwandte Themen