2012-04-23 2 views
-4

3 개의 테이블을 하나의 배열로 가져 가려고합니다. 저장 프로 시저가 작동합니다. 첫 번째 추가 라인에서 객체 참조가 객체의 인스턴스로 설정되지 않는다는 오류가 발생합니다. 이걸 할 수있는 방법은 없나요? 임 완전히 틀린 지 확실하지 않은 Im. 미리 감사드립니다.하나의 배열에 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

오류가 무엇인지 추측 할 수 있습니까? 우리는 또한 다른 사람들이 당신에게 제공 한 답변을 사실상 받아들이지 않는 이유를 추측 할 수 있습니까? –

+0

실제 발생한 오류가 포함 된 경우 도움이됩니다. – kprobst

+0

새 연락처 C 세트의 속성 값은 어디에 있습니까? 새 속성을 만든 다음 속성을 참조하십시오. 나는 그들이 null이 될 것이라고 기대할 것이다. – hatchet

답변

0

내 생각 엔 당신의 Contacts 생성자가 FirstName 필드의 값을 설정되지 않는 것입니다. 따라서 C.FirstName.ToString()에 전화하면 null 참조 예외가 발생합니다.

관련 문제