2013-07-17 3 views
0

데이터베이스에서 사용자가 선택한 데이터를 검색하려고합니다. 사용자는 보고서에 표시 할 필드를 최대 5 개까지 선택할 수 있으며 필드에는 문자열, 날짜 및 숫자가 혼합되어 있습니다. 다른 보고서가 실행 중이기 때문에 SQL 코드에서 데이터를 문자열로 변환 할 수 없습니다. 데이터 유형을 모르기 때문에 datareader.GetSqlString (column)을 수행 할 수없고 사용자가 선택한 열의 이름을 모르기 때문에 datareader.GetString (datareader. GetOrdinal (columnName)). 데이터 유형이나 열 이름을 모른 채 데이터베이스에서 값을 검색하는 방법에 대한 아이디어가 있습니까?C#에서 데이터베이스에서 데이터 검색 - 알 수없는 데이터 형식 및 알 수없는 열 이름

미리 감사드립니다.

답변

1

을 사용하여 데이터 판독기의 스키마 테이블을 가져 오거나 reader.GetType(n) 또는 reader.GetProviderSpecificType(n)을 사용하여 특정 필드의 데이터 유형을 얻을 수 있습니다.

그런 다음 호출 할 방법을 결정하기 위해 해당 정보를 사용할 수 있습니다

if (reader.GetType(n) == typeof(string)) 
{ 
    string value = reader.GetString(n); 
}