这个问题在这里已有答案:
我有一个更新数据库中贷方详细信息的页面,但是当我单击更新按钮时,它会抛出此错误。
我已经把断点和检查代码显示我在悬停时显示的值,但它也抛出了这个错误
这是我从文本框中获取值的地方,当我将鼠标悬停在enttity.lender_name
上时(所有文本框都相同),它正确显示文本框中的值
protected void btn_update_Click(object sender, EventArgs e)
{
try
{
enttity.lender_name = lender_name.Text;
enttity.lender_code = lender_code.Text;
enttity.manager_name = manager_name.Text;
enttity.manager_number = manager_number.Text;
enttity.lc_number = lc_number.Text;
enttity.manager_email = manager_email.Text;
enttity.lc_email = lc_email.Text;
enttity.contact_name = contact_name.Text;
enttity.designation = designation.Text;
enttity.branch_name = branch_name.Text;
enttity.branch_add = branch_add.Text;
enttity.branch_add2 = branch_add2.Text;
enttity.branch_city = branch_city.Text;
enttity.branch_state = branch_state.Text;
enttity.branch_zip = branch_zip.Text;
enttity.branch_country = branch_country.Text;
int update = bal.lenderupdate(enttity, Convert.ToInt32(ViewState["lender_id"].ToString()));
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert(' Successfully updated!');window.location.href = 'Lender_registration.aspx'", true);
}
catch (Exception ex)
{
throw ex;
}
}
在这行int update = bal.lenderupdate(enttity, Convert.ToInt32(ViewState["lender_id"].ToString()));
中抛出错误并转到throw ex
说错误System.NullReferenceException:'对象引用未设置为对象的实例。
这是我的代码,它转到存储过程
public int lenderupdate(lender_entity enttity, int lender_id)
{
try
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@lender_id ", lender_id);
cmd.Parameters.AddWithValue("@lender_name ", enttity.lender_name);
cmd.Parameters.AddWithValue("@lender_code", enttity.lender_code);
cmd.Parameters.AddWithValue("@manager_name", enttity.manager_name);
cmd.Parameters.AddWithValue("@manager_number ", enttity.manager_number);
cmd.Parameters.AddWithValue("@lc_number", enttity.lc_number);
cmd.Parameters.AddWithValue("@manager_email", enttity.manager_email);
cmd.Parameters.AddWithValue("@lc_email ", enttity.lc_email);
cmd.Parameters.AddWithValue("@contact_name", enttity.contact_name);
cmd.Parameters.AddWithValue("@designation", enttity.designation);
cmd.Parameters.AddWithValue("@branch_name ", enttity.branch_name);
cmd.Parameters.AddWithValue("@branch_add", enttity.branch_add);
cmd.Parameters.AddWithValue("@branch_add2", enttity.branch_add2);
cmd.Parameters.AddWithValue("@branch_city", enttity.branch_city);
cmd.Parameters.AddWithValue("@branch_state", enttity.branch_state);
cmd.Parameters.AddWithValue("@branch_zip", enttity.branch_zip);
cmd.Parameters.AddWithValue("@branch_country", enttity.branch_country);
int updatelender = dbmngr.ExecuteNonQuery(cmd, CommandType.StoredProcedure, "updatelenders");
return updatelender;
}
catch (Exception ex)
{
throw ex;
}
}
价值来到这里,但它正在抛出错误
数据应该转到数据库并更新特定贷方的详细信息
int update = bal?.lenderupdate(enttity,Convert.ToInt32(ViewState["lender_id"]?.ToString())) ?? 0;
我不知道变量是什么null。但如果any为null,则语句返回0而不是异常