Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#with类中的SQL参数更新数据_C#_Sql Server - Fatal编程技术网

使用C#with类中的SQL参数更新数据

使用C#with类中的SQL参数更新数据,c#,sql-server,C#,Sql Server,我有一个关于使用类的SqlParameter进行更新的问题 在我的课堂上,EditRecord: string strScript = ""; strScript = strScript + "UPDATE tbMemberInfo(FirstName,LastName,Age)"; strScript = strScript + "SET (FirstName = @firstname, LastName = @lastname, Age = @age)"; strScript = strSc

我有一个关于使用类的
SqlParameter
进行更新的问题

在我的课堂上,
EditRecord

string strScript = "";
strScript = strScript + "UPDATE tbMemberInfo(FirstName,LastName,Age)";
strScript = strScript + "SET (FirstName = @firstname, LastName = @lastname, Age = @age)";
strScript = strScript + "WHERE id=@empID";

SqlCommand cmd;
cmd = new SqlCommand(strScript, Connection);
cmd.CommandTimeout = 0;

cmd.Parameters.AddWithValue("@firstname", _members.Lastname));
cmd.Parameters.AddWithValue("@lastname", _members.FirstName));
cmd.Parameters.AddWithValue("@age", _members.Age));
cmd.Parameters.AddWithValue("@empID", _members.ID));
cmd.ExecuteNonQuery();
以我的形式给全班打电话

Class.clsMemberInfo member = new Class.clsMemberInfo();

member.FirstName = txtFirstName.Text;
member.Lastname = txtLastName.Text;
member.Age = Convert.ToInt32(txtAge.Text);

clsMembers memberInfo = new clsMembers();

memberInfo.Members = member;
memberInfo.EditREcord(cnTestConnection);
MessageBox.Show("Success");

但是数据没有更新

将sql语句更改为

string strScript = "UPDATE tbMemberInfo SET FirstName = @firstname, LastName = @lastname, Age = @age WHERE id=@empID";
更新语法是

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
表名旁边的()中没有给出列名

更新

在您的代码中
\u members.ID
在调用该方法之前未设置

Class.clsMemberInfo member = new Class.clsMemberInfo();

member.FirstName = txtFirstName.Text;
member.Lastname = txtLastName.Text;
member.Age = Convert.ToInt32(txtAge.Text);
member.ID  = ??? //you need to give this value, otherwise your update will not work 

你的问题似乎不对劲。每个字符串后面都需要一个空格。因此:
“更新tbMemberInfo(FirstName,LastName,Age)”
此外,请确保您已打开一个连接您的sql可能因年龄之间的原因而中断),并设置没有空间,就像@Age和where之间没有空间一样。调试您的代码,在执行之前获取sql脚本字符串,然后在sql Server上运行它。相信我,您不会感到惊讶的。谢谢您的回复,先生,但没有任何变化,我仍然无法更新数据(@JolanMoski,如果您“无法更新数据”,则可能发生错误,我们需要知道。详细信息很重要!请注意解释否决票!可能是我错了,但OPs代码存在明显的语法问题我已经编辑了更新sql,但仍然无法更新我的data@JolanMoski,如果您“无法更新数据”然后可能发生了一个错误,我们需要知道。详细信息很重要!您还需要了解Peter B爵士的哪些详细信息?您的代码工作正常,Poovizhi爵士!现在我如何更改sql语句的值?:)