2011-12-17 8 views
0

OleDbDataReader을 반복하고 요소를 ArrayList에 넣는 방법은 무엇입니까?C#의 ArrayList에 대한 OleDbDataReader

여기 내 코드입니다 :

// ... 

ArrayList list = new ArrayList(); 

while(myReader.Read()) 
{ 
    foreach(string s in myReader) // I got an Exception here 
    { 
     list.Add(s); 
    } 
} 

// ... 

Label lbl = new Label(); 
lbl.Text = list[i] as string; 

여기에서 예외입니다 :

System.InvalidCastException: Unable to cast object of type 'System.Data.Common.DataRecordInternal' to type 'System.String'. 
+0

나는 그것을 얻지 않는다. 너 뭐하려고? 사용 가능한 모든 열의 문자열을 열 이름이나 유형에 관계없이 목록에 추가 하시겠습니까? – GSerg

답변

1

이 시도 :

while (myReader.Read()) 
{ 
    list.Add(myReader.GetString(0)); 
} 
+0

왜이 오류가 발생했는지 잘 모르겠습니다. '문자'문자 '를'문자열 '로 변환 할 수 없습니다. –

+0

새로운 코드로 질문을 편집하십시오. –

+2

이 답변은 분명히 잘못되었습니다. 'GetString'은 문자열을 반환하고, 문자열의'foreach'는 문자열의 문자를 루핑합니다. – GSerg