C#修改数据库调用updata指令时出现,'=' 附近有语法错误。什么原因导致这个问题,求高手解决

public void UpdateFinalScore(string Sname, string C_Sname) {//修改FinalScore表的成绩

SqlConnection conn = new SqlConnection(Properties.Settings.Default.GradeManagementSystemConnectionString);
SqlCommand comm = new SqlCommand("update FinalScore set " + C_Sname + " = '0' where Sname='" + Sname + "' ", conn);

conn.Open();
comm.ExecuteNonQuery();

conn.Close();

}

第1个回答  2012-12-26
有可能是因为你的字段 含有下划线或与SQL系统中某些关键命名重复
那么你需要在引用该字段的时候加上方括号
例如:update 表 set [字段0]='0' where [字段1]='0'
只是个简单例子
第2个回答  2012-12-24
从代码来看,应该是C_Sname为空,或者不是正确的字段名造成的
建议修改为:
public void UpdateFinalScore(string Sname, string C_Sname) {//修改FinalScore表的成绩
if(string.IsNullOrEmpty(C_Sname)){
return;
}

SqlConnection conn = new SqlConnection(Properties.Settings.Default.GradeManagementSystemConnectionString);
SqlCommand comm = new SqlCommand("update FinalScore set [" + C_Sname + "] = '0' where Sname='" + Sname + "' ", conn);本回答被提问者和网友采纳
第3个回答  2012-12-24
SQL语句有问题,你打印到页面上,然後调试下你的SQL语句
第4个回答  2012-12-24
就是说Sname或者C_Sname中有一个为空值或者NULL,或者都为空值或者NULL
第5个回答  2012-12-24
Sname和C_Sname的值分别是什么,把sql语句完整贴出来就知道了
相似回答