【发布时间】:2016-12-11 12:10:37
【问题描述】:
我的代码产生以下错误:
System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常
附加信息:
')' 附近的语法不正确。
我的代码是:
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)。在将查询放入 c# 代码之前,我通常会在 SSMS 中验证我的查询。 SSMS 中的错误消息比 c# 好得多。我还建议使用 string,Format 而不是 '+' : string.Format("Update [Table] Set [Name]='{1}',[Course]='{0}',[YearSection]='{ 2}' 其中[Id]='{0}'",textBox1.Text,comboBox2.Text,comboBox3.Text);
标签: c# sql-server database