2010-07-12 4 views
6
 
Dictionary Fields = new Dictionary(); 
for (int i = 0; i < reader.FieldCount; i++) 
{ 
    Fields.Add(reader.GetName(i), i); 
} 

this._MyField1 = reader.GetString(Fields["field1"]); 
this._Myfield2 = reader.GetInt16(Fields["field2"]); 

이렇게하면 울고 싶지만이 방법 이외의 열 이름으로 형식 지정 검색 방법을 사용하는 방법을 알아낼 수 없습니다. 더 좋은 방법이 있다고 말해주세요. 이 DB2에 대한 specificly하지만 당신은 GetOrdinal 방법을 찾고DataReader.GetString() via columnname

답변

15

가능하면 나는 또한 MS SQL에 대한 작업 솔루션을 싶습니다

this._MyField1 = reader.GetString(dr.GetOrdinal("field1")); 
this._Myfield2 = reader.GetInt16(dr.GetOrdinal("field2")); 

내가 일반적으로 성능에 대한 익명 형식의 서수를 캐시 그리고 가독성 :

+0

ok, 지금 나는 어리 석다 느낀다 –

+1

그것은 정말로 청초한 생각이다! –

+0

위대한 작품, tnx – DaniKR