Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取此错误**System.NullReferenceException:';对象引用未设置为对象的实例**_C#_Asp.net_Sql Server_Visual Studio_Stored Procedures - Fatal编程技术网

C# 获取此错误**System.NullReferenceException:';对象引用未设置为对象的实例**

C# 获取此错误**System.NullReferenceException:';对象引用未设置为对象的实例**,c#,asp.net,sql-server,visual-studio,stored-procedures,C#,Asp.net,Sql Server,Visual Studio,Stored Procedures,我有一个更新数据库中贷方详细信息的页面,但是当我单击更新按钮时,它抛出了这个错误 我已经放置了断点并检查了代码,它在我悬停时显示了值,但它也抛出了这个错误 这是我从文本框中获取值的地方,当我将鼠标悬停在enttity.lender\u name(所有文本框都相同)上时,它会正确显示文本框中的值 protected void btn_update_Click(object sender, EventArgs e) { try { e

我有一个更新数据库中贷方详细信息的页面,但是当我单击更新按钮时,它抛出了这个错误

我已经放置了断点并检查了代码,它在我悬停时显示了值,但它也抛出了这个错误

这是我从文本框中获取值的地方,当我将鼠标悬停在
enttity.lender\u 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(entty,Convert.ToInt32(ViewState[“leander\u 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;

我不知道变量为空的原因是什么。但如果有空,则语句返回0而不是异常

最简单的方法是在调试器中针对空值检查
bal
ViewState[“贷款人id”]
。@Markus我如何检查它请作为旁注,您不应该使用
throw ex
重新抛出异常。只需使用
throw
即可保留堆栈跟踪。可能您的生产代码在catch块中包含其他内容,如果没有,您可以将其删除。我已经检查了相同的内容,但没有解决我是否应该删除
throw ex
不起作用help@DilliPrasad根据错误或gif制作屏幕截图。