c# - 出现错误 : No value given for one or more required parameters

标签 c# ms-access

下面是我的更新查询,它工作正常,但是当我在参数字段中添加int DrId(最后)来检查条件条件时,此后它向我显示以下错误

没有为一个或多个必需参数指定值。 错误在哪里,因为 DrId 是我的主键,所以我不会更新它

public bool UpdateDrMaster(string title, string FirstName, string Mname, string lastName, string regNo, string speciality, string contactNo1, string contactNo2, string city, string addrss, string pincode, string emailId, string fee_unit, string fee, string DrType, bool displayType,int DrId)
        {
            bool flag = false;
            try
            {
                string sql = "UPDATE Doctor_Master SET [Title]=@Title,[FirstName]=@FirstName,[MiddleName]=@MiddleName,[LastName]=@LastName,[RegistrationNo]=@RegistrationNo,[Speciality]=@Speciality,[ContactNo_1]=@ContactNo_1,[ContactNo_2]=@ContactNo_2,[City]=@City,[Address]=@Address,[Pincode]=@Pincode,[Email_ID]=@Email_ID,[Fee_Unit]=@Fee_Unit,[Fee]=@Fee,[Type_of_Dr]=@Type_of_Dr,[Display]=@Display,[Hide_Date]=@Hide_Date WHERE Doctor_ID=" +DrId;

                cmd = new OleDbCommand(sql, acccon);
                 cmd.Parameters.AddWithValue("@Title", title);
                 cmd.Parameters.AddWithValue("@FirstName", FirstName);
                 cmd.Parameters.AddWithValue("@MiddleName", Mname);
                 cmd.Parameters.AddWithValue("@LastName", lastName);
                 cmd.Parameters.AddWithValue("@RegistrationNo", regNo);
                 cmd.Parameters.AddWithValue("@Speciality", speciality);
                 cmd.Parameters.AddWithValue("@ContactNo_1", contactNo1);
                 cmd.Parameters.AddWithValue("@ContactNo_2", contactNo2);
                 cmd.Parameters.AddWithValue("@City", city);
                 cmd.Parameters.AddWithValue("@Address", addrss);
                 cmd.Parameters.AddWithValue("@Pincode", pincode);
                 cmd.Parameters.AddWithValue("@Email_ID", emailId);
                 cmd.Parameters.AddWithValue("@Fee_Unit", fee_unit);
                 cmd.Parameters.AddWithValue("@Fee", fee);
                 cmd.Parameters.AddWithValue("@Type_of_Dr", DrType);
                 cmd.Parameters.AddWithValue("@Display", displayType);
                 cmd.Parameters.AddWithValue("@Hide_Date", System.DateTime.Now.ToShortDateString());                            
                cmd.ExecuteNonQuery();
                flag = true;
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message.ToString());
            }
            return flag;
        }

最佳答案

您的更新查询中有 Doctor_Id,但您没有为其设置值。即使您不打算更新它的值,您也必须为其设置一个值作为其 where 类的一部分。

string sql = "UPDATE Doctor_Master SET [Title]=@Title,[FirstName]=@FirstName,[MiddleName]=@MiddleName,[LastName]=@LastName,[RegistrationNo]=@RegistrationNo,[Speciality]=@Speciality,[ContactNo_1]=@ContactNo_1,[ContactNo_2]=@ContactNo_2,[City]=@City,[Address]=@Address,[Pincode]=@Pincode,[Email_ID]=@Email_ID,[Fee_Unit]=@Fee_Unit,[Fee]=@Fee,[Type_of_Dr]=@Type_of_Dr,[Display]=@Display,[Hide_Date]=@Hide_Date WHERE Doctor_ID=" +DrId;

关于c# - 出现错误 : No value given for one or more required parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197022/

相关文章:

c# - VS2012 SSRS 报告中的 IsNothing() 导致错误

c# - 如何使用 lambda 表达式或使用任何其他逻辑转换数据?

c# - 简单泛型类型比较

c# - 如何在发生错误时关闭 Win32 SaveFileDialog?

SQL MS Access - 无效使用 Null

vba - 如何使用 vba Access 更改 ActiveControl 属性?

c# - 使用 C# Web.config 文件连接到 Access 数据库

c# - 在控制台应用程序中获取 IP 地址

ms-access - Access 2013 中的 VB 脚本在 QuickBooks Enterprise 14 中产生 "out of memory"错误

ms-access - 在 Access 中创建搜索框