0

I have a problem when I run my code "without YearlyLimit" then it is run properly but when i add the YearlyLimit in insert query then error occurs

"Number of query values and destination fields are not the same."

protected void btn_Save_Click(object sender, EventArgs e)
{
    string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/Geeta/Desktop/eTimeTrackLite1.mdb;Persist Security Info=False;");
    OleDbConnection conn = new OleDbConnection(str);
    conn.Open();
    string query = "insert into LeaveTypes (LeaveTypeFName,LeaveTypeSName,YearlyLimit,Gender) values ('" + txt_leavetypename.Text + "', '" + txt_shortname.Text + "', '" + txt_yearlimit.Text + "', '" + Convert.ToString(rdbtn_all.Checked) + "', '" + Convert.ToString(rdbtn_male.Checked) + "', '" + Convert.ToString(rdbtn_female.Checked) + "')";
    OleDbCommand cmd = new OleDbCommand(query, conn);
    cmd.ExecuteNonQuery();
    conn.Close();
    BindGridData();
}
Jakub Konecki
  • 45,581
  • 7
  • 87
  • 126
Sanat Pandey
  • 4,081
  • 17
  • 75
  • 132

1 Answers1

0

You are trying to add too many items into the record

  1. LeaveTypeFName
  2. LeaveTypeSName
  3. YearlyLimit
  4. Gender

You are trying to insert

  1. txt_leavetypename.Text
  2. txt_shortname.Text
  3. txt_yearlimit.Text
  4. Convert.ToString(rdbtn_all.Checked)
  5. Convert.ToString(rdbtn_male.Checked)
  6. Convert.ToString(rdbtn_female.Checked)

you need to make a check on which item you want to go into the last field

SeanC
  • 15,695
  • 5
  • 45
  • 66