cột chèn dữ liệu c # ở vị trí 0


105

có ai biết cách tốt nhất để chèn một cột trong một cơ sở dữ liệu ở vị trí 0?


tại sao bạn muốn làm việc này? Thứ tự của các cột thực sự không nên liên quan.
Stefan Steinegger

1
đôi khi nếu bạn đang thêm cột vào dữ liệu sau khi lấy dữ liệu từ db, bạn có thể cần phải đặt nó ở trạng thái cầu xin.
Wael Dalloul

1
Tôi đang đưa dữ liệu vào một tập tin chèn hàng loạt
Grant

9
@Stefan, tôi tin rằng thứ tự của các cột có liên quan khi sử dụng Sql BulkCopy.
IAbstract

Câu trả lời:


177

Bạn có thể sử dụng mã sau để thêm cột vào Datatable tại vị trí 0:

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

93

Chỉ để cải thiện câu trả lời của Wael và đặt nó trên một dòng:

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

CẬP NHẬT: Lưu ý rằng điều này hoạt động khi bạn không cần làm bất cứ điều gì khác với DataColumn. Add () trả về cột được đề cập, SetOrdinal () không trả về cột nào.


15
câu lệnh ligne đơn không phải là tốt hơn. Trong trường hợp này tôi thích nó 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.