احتمالا مشکل بخاطر همون باشه!. کد زیر جای حروف ک و ی فارسی و عربی رو با هم عوض میکنه. اگر جواب نداد اونوقت جای "ی" ها و "ک" ها رو عوض کنید:
OleDbConnection con = new OleDbConnection(strCon);
OleDbCommand cmd = new OleDbCommand("Update wholeAction SET [stagePercentage]=@percent,[stageCost]=@cost WHERE ([stageName]=@name) AND ([houseType]=@house)", con);
MessageBox.Show(i.ToString().Trim());
MessageBox.Show(TypeHouse.Text.Trim());
cmd.Parameters.AddWithValue("@name", i.ToString().Trim().Replace("ی","ي"). Replace("ک","ك"));
cmd.Parameters.AddWithValue("@house", TypeHouse.Text.Trim().Replace("ی" ,"ي").Replace("ک","ك"));
cmd.Parameters.AddWithValue("@percent", sumDarsad[i - 1]);
cmd.Parameters.AddWithValue("@cost", costDarsad[i - 1]);
con.Open();
cmd.ExecuteNonQuery();
con.Close();