2011-02-24 30 views
0
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(); 

我认为问题是与参数..基于您的评论返回一个空引用异常

+0

你能提供更多细节吗?你在代码中哪里会得到异常? – 2011-02-24 09:24:43

+3

毫无疑问! – 2011-02-24 09:24:50

+0

你发布的代码中唯一的方法是返回一个'ds.GetRates();',我们可以快速浏览一下这个方法的源代码吗? – 2011-02-24 09:28:13

回答

1

它看起来像这样一行:

Health_Scheme_System.Scheme updscheme = Scheme.Find(x => x.SchemeID == SchemeID).FirstOrDefault(); 

不返回任何东西。换句话说,没有任何你使用的ID的Scheme。

您可以手动检查数据库中的Scheme并获取它的ID值。然后,您可以通过将该值传递给SchemeID参数来测试上述代码。

+0

Infact存储在数据库中。非常感谢你的帮助杰森:)再次感谢大家! – Malcolm 2011-02-24 09:40:44