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 !!!");
なぜこれが機能しないのか理解できますか?
SQLインジェクションにつながるため、文字列連結を使用してクエリを構成しないでください。代わりにSQLパラメータを使用してください。 –
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