2014-03-01 2 views
0

저는 SqlDataAdapter.Fill을 사용하여 Column 및 COLUMN과 같은 두 개의 열이있는 쿼리에서 데이터를 검색합니다. Unforunately, 두 번째 열은 Column_1로 테이블에 삽입됩니다. 이 빠른 테스트를 실행했으며 datatable은 대소 문자를 구분할 수 있지만 adapter.fill은 나와 제공하지 않습니다. adapter.fill이 그렇게하도록 강제 할 방법이 있습니까?SQL 어댑터 채우기 - 중복 열

void Main() 
{ 
    DataTable table = new DataTable(); 
    table.Columns.Add("Number", typeof(int)); 
    table.Columns.Add("NUMBER", typeof(int)); 


    table.Rows.Add(123, 123); 

    foreach(var column in table.Columns) 
    { 
     Console.WriteLine(column); 
    } 
} 

답변

0

는 .NET 2.0 DataColumnCollection에 대한 MSDN documentation에 따르면 - 4.5, 추가 방법은 대소 문자를 구분하고 이 시나리오에 DuplicateNameException을 던져을 예정이다. DuplicateNameException에 대한 예외 섹션에서

:

컬렉션이 이미 지정된 이름의 열이 있습니다. 합니다 ( 비교는 대소 문자를 구분하지 않습니다.)

나는 그것이 문서화 된 예외를 throw되지 않는 이유 확실 해요,하지만 당신은 그것을위한 것이 아닙니다 것을 제안보고있는 SqlDataAdapter를 동작과 함께 제공되는 설명서 당신이 시도하고있는 것.