Reputation: 1303
Below Is my Update query ,it was working fine,but when I have added int DrId
in parameter fields (at last) to check where condition,after this it is showing me following error
No value given for one or more required parameters.
where is the mistake ,since DrId
is my Primary Key I won't update it
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;
}
Upvotes: 2
Views: 1047
Reputation:
Why not try this one!!! Replace you parameter name with ?
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=?FirstName=?,
MiddleName=?,LastName=?,RegistrationNo=?,Speciality=?,ContactNo_1=?,
ContactNo_2=?,City=?,Address=?,Pincode=?,Email_ID=?,Fee_Unit=?,Fee=?,
Type_of_Dr=?,Display=?,Hide_Date=? WHERE Doctor_ID=?";
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.Parameters.AddWithValue("@DrId", DrId);
cmd.ExecuteNonQuery();
flag = true;
}
catch (Exception err)
{
MessageBox.Show(err.Message.ToString());
}
return flag;
}
Match your Db column name with the queries column. See if any character is misplaced or miss-spelled
Upvotes: 1
Reputation: 8902
You have Doctor_Id
in your Update query but you are not setting a value for it. Even though you are not going to update its value you have to set a value for it as its part of your where clase.
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;
Upvotes: 1