위치 0에 C # 데이터 테이블 삽입 열


105

누구든지 위치 0의 데이터 테이블에 열을 삽입하는 가장 좋은 방법을 알고 있습니까?


왜 이렇게 하시겠습니까? 열의 순서는 실제로 관련이 없어야합니다.
스테판 Steinegger

1
때로는 db에서 데이터를 가져온 후 데이터 테이블에 열을 추가하는 경우 구걸 할 때 설정해야 할 수도 있습니다.
Wael Dalloul

1
im pusing the datatable into a bulk insert
그랜트

9
@ Stefan, Sql BulkCopy를 사용할 때 열의 순서가 관련이 있다고 생각합니다.
IAbstract 2010

답변:


177

다음 코드를 사용하여 위치 0에서 Datatable에 열을 추가 할 수 있습니다.

    DataColumn Col   = datatable.Columns.Add("Column Name", System.Type.GetType("System.Boolean"));
    Col.SetOrdinal(0);// to put the column in position 0;

93

Wael의 답변을 개선하고 한 줄에 넣으려면 :

dt.Columns.Add("Better", typeof(Boolean)).SetOrdinal(0);

업데이트 : 이것은 DataColumn으로 다른 작업을 수행 할 필요가 없을 때 작동합니다. Add ()는 해당 열을 반환하고 SetOrdinal ()은 아무것도 반환하지 않습니다.


15
단일 ligne 진술이 항상 더 나은 것은 아닙니다. 이 경우에 좋아요 +1
Rémi

2
    //Example to define how to do :

    DataTable dt = new DataTable();   

    dt.Columns.Add("ID");
    dt.Columns.Add("FirstName");
    dt.Columns.Add("LastName");
    dt.Columns.Add("Address");
    dt.Columns.Add("City");
           //  The table structure is:
            //ID    FirstName   LastName    Address     City

       //Now we want to add a PhoneNo column after the LastName column. For this we use the                               
             //SetOrdinal function, as iin:
        dt.Columns.Add("PhoneNo").SetOrdinal(3);

            //3 is the position number and positions start from 0.`enter code here`

               //Now the table structure will be:
              // ID      FirstName   LastName    LastName   PhoneNo     Address     City
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.