2012-04-23 41 views
-4

我試圖將3個表合併成一個數組。存儲過程起作用。在第一行添加行時,它的錯誤說對象引用未設置爲對象的實例。任何方式來做到這一點?林不知道如果我要完全錯誤。提前致謝。將3個表合併爲一個數組

public static ArrayList SearchContacts(string search) 
    { 
     Contacts C = new Contacts(); 
     ContactsAddress D= new ContactsAddress(); 
     ContactPhone E = new ContactPhone(); 
     ArrayList ret = new ArrayList(); 
     SqlDataSource ds = Database.GetDataSource(); 
     ds.SelectCommand="_ContactSearch"; 
     ds.SelectCommandType=SqlDataSourceCommandType.StoredProcedure; 

     ds.SelectParameters.Add("FirstName", DbType.String,C.FirstName.ToString()); 
     ds.SelectParameters.Add("LastName", DbType.String,C.LastName.ToString()); 
     ds.SelectParameters.Add("EmailAddress", DbType.String,C.EmailAddress.ToString()); 
     ds.SelectParameters.Add("PostalCode", DbType.String,D.PostalCode.ToString()); 
     ds.SelectParameters.Add("PhoneNumber", DbType.String,E.PhoneNumber.ToString()); 

     IEnumerator i = ds.Select(System.Web.UI.DataSourceSelectArguments.Empty).GetEnumerator(); 
     while (i.MoveNext()) 
     { 
      DataRowView d = (DataRowView)i.Current; 

      fillSearch(d, ref C,ref D, ref E); 
      ret.Add(C); 
      ret.Add(D); 
      ret.Add(E); 
     } 
     return ret; 
    } 
+3

我們能猜到錯誤是什麼嗎?我們是否也會猜測爲什麼你幾乎不接受其他人提供的答案? – 2012-04-23 20:42:49

+0

如果包含正在發生的實際錯誤,將會有所幫助。 – kprobst 2012-04-23 20:43:40

+0

新的聯繫人C集中的任何屬性值在哪裏?你創建一個新的然後引用它的屬性。我希望他們是空的。 – hatchet 2012-04-23 20:53:37

回答

0

我的猜測是,你Contacts構造方法中沒有設置爲FirstName字段的值。所以當你打電話給C.FirstName.ToString()時,它會拋出一個空引用異常。