[SQL] 기둥 이름을 통해) (DataReader.GetString
SQL기둥 이름을 통해) (DataReader.GetString
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하지만 나는 또한 가능하면 MS SQL의 작업에 대한 해결책을 부탁합니다
해결법
-
==============================
1.당신은 GetOrdinal 방법을 찾고 :
당신은 GetOrdinal 방법을 찾고 :
this._MyField1 = reader.GetString(dr.GetOrdinal("field1")); this._Myfield2 = reader.GetInt16(dr.GetOrdinal("field2"));
나는 일반적으로 성능과 가독성에 대한 익명 형식의 서수를 캐시 :
// ... using (IDataReader dr = cmd.ExecuteReader()) { var ordinals = new { Foo = dr.GetOrdinal("Foo"), Bar = dr.GetOrdinal("Bar") }; while (dr.Read()) { DoSomething(dr.GetString(ordinals.Foo), dr.GetInt16(ordinals.Bar)); } } // ...
from https://stackoverflow.com/questions/3228972/datareader-getstring-via-columnname by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SELECT에서 숫자가 아닌 문자를 빼내야 (0) | 2020.07.14 |
---|---|
[SQL] 어떻게 TSQL을 사용하여 업데이트의 Blob에서 SQL 서버에 (0) | 2020.07.14 |
[SQL] SQL 제약 조건 : 날짜 A는 날짜 B 전입니다 - 어떻게? (0) | 2020.07.14 |
[SQL] 어떻게 오라클 MD5 해시 함수를 호출하는 방법? (0) | 2020.07.13 |
[SQL] SQL : 교차와 구문 오류? (0) | 2020.07.13 |