2016-12-11 14 views
0

私のコードは次のエラーを生成します。例外:のSystem.Data.dll追加情報の「System.Data.SqlClient.SqlException」:キーワード「テーブル」の近くに不正な構文

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
Additional information:
Incorrect syntax near ')'.

私のコードは次のとおりです。

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 !!!"); 

なぜこれが機能しないのか理解できますか?

+6

SQLインジェクションにつながるため、文字列連結を使用してクエリを構成しないでください。代わりにSQLパラメータを使用してください。 –

+0

SQL Serverに付属のSQL Server Management Studio(SSMS)を使用することをお勧めします。私は通常SSMSでクエリを検証してから、クエリをC#コードに入れます。 SSMSのエラーメッセージはC#よりはるかに優れています。 string.Format( "Update [Table]" {Name} = '{1}'、[Course] = '{0}'、[YearSection] = '{'}を設定することをお勧めします。 2} '[ID] =' {0} '"、textBox1.Text、comboBox2.Text、comboBox3.Text); – jdweng

答えて

1

クエリの末尾にある)を削除します。

関連する問題