C#调用UPDATE方法遇CS7036错误:无对应必填password参数
解决CS7036参数不匹配错误
错误原因
你的UPDATE方法定义了6个必填参数:int id_, string nameA, string nameL, string TEL, string TYPEROLE, string PASSWORD,但调用时只传了5个参数,且参数顺序和方法定义不匹配,导致编译器找不到对应nameA的参数,触发CS7036错误。
修正步骤
1. 修正方法调用的参数数量和顺序
在SAVEEDITE_Click事件中,补充nameA对应的输入控件参数(比如你界面中应该有对应nameA的文本框,假设是TXT_NAMEA),并严格按照方法定义的参数顺序传递:
LOGN.UPDATE( Convert.ToInt32(TXT_ID.Text), TXT_NAMEA.Text, // 补充缺失的nameA参数 TXT_NAMEL.Text, TXT_TEL.Text, TXT_TYPEROLE.Text, TXT_PASSWORD.Text );
如果你的业务逻辑不需要nameA这个参数,那直接修改UPDATE方法的定义,去掉nameA参数,同时删除SQL语句和参数数组中对应的@nameA相关代码即可。
2. 顺便修复SQL语句语法错误
你的UPDATE SQL语句里有个多余的等号:SET =[id]=@ID,应该改成SET [id]=@ID(另外,主键id通常不需要在UPDATE操作中修改,如果你不需要更新id,可以直接去掉这部分):
UPDATE [dbo].[USERS] SET [nameA]=@nameA, [nameL]=@nameL, [TEL]=@TEL, [TYPEROLE]=@TYPEROLE, [PASSWORD]=@PASSWORD WHERE ID=@ID
内容的提问来源于stack exchange,提问作者Mohamed Thrwat
相关产品推荐
相关产品推荐

