C# 返回空引用异常

C# 返回空引用异常,c#,subsonic,C#,Subsonic,我认为问题出在参数上。根据您的评论,它看起来像这行: public void SchemeUpdate(int SchemeID, int InsurerID, string Name, string Description) { Health_Scheme_System.Scheme updscheme = Scheme.Find(x => x.SchemeID == SchemeID).FirstOrDefault();

我认为问题出在参数上。

根据您的评论,它看起来像这行:

 public void SchemeUpdate(int SchemeID, int InsurerID, string Name, string Description)
        {
            Health_Scheme_System.Scheme updscheme = Scheme.Find(x => x.SchemeID == SchemeID).FirstOrDefault();

            //updscheme.SchemeID = SchemeID;
            //updscheme.InsurerID = InsurerID;
            updscheme.Name = Name;
            updscheme.Description = Description;                             
            updscheme.Save();
}


Calling the method


  //Converting to integer and date
                    int SchemeID;
                    int.TryParse(txtSchemeID.Text, out SchemeID);

                    int insurerID;
                    int.TryParse(txtInsurerID.Text, out insurerID);


                    //Getting the parameters from the method
                    DataAccess updscheme = new DataAccess();
                    //DataAccess updrates = new DataAccess();
                    updscheme.SchemeUpdate(SchemeID, insurerID, txtName.Text, txtDescription.Text);
                    //updrates.RatesUpdate(SchemeID, txtRates.Text);

                    //Binding the gridView to display the updates
                    txtSchemeID.Visible = false;
                    txtInsurerID.Visible = false;
                    gvSchemeMain.DataSource = ds.GetRates();
                    gvSchemeMain.DataBind();
没有归还任何东西。换句话说,没有一个方案的ID是你正在使用的任何东西


您是否可以手动在数据库中检查
方案
并获取其ID值。然后,您可以通过将该值传递到SchemeID参数中来测试上述代码。

您能提供更多详细信息吗?您在代码中的哪里得到异常?您发布的代码中唯一返回内容的方法是
ds.GetRates(),我们可以快速浏览一下该方法的源代码吗?调用Scheme.FindSry后,也许updscheme==null,如果我有任何误解,但我对这些概念是新手。。这是得到错误的部分。updscheme.Name=名称;updscheme.Description=说明;updscheme.Save()@Scrum Meister-不,不会的。FirstOrDefault返回对象或null。如果它为null,则updscheme.Name将在其保存的数据库中崩溃,并出现NullReferenceExceptionInfact。非常感谢你的帮助杰森:)再次感谢大家!!
Health_Scheme_System.Scheme updscheme = Scheme.Find(x => x.SchemeID == SchemeID).FirstOrDefault();