Q:Làm cách nào để đổi tên tên cột có thể đặt dữ liệu mà không làm mất dữ liệu?
Tôi muốn đổi tên tên cột bảng dữ liệu của mình.
Tôi cố gắng này:
dt.Columns[8].ColumnName = "regnum";
dt.AcceptChanges();
nhưng dữ liệu của tôi bị mất sau đó !!
Q:Làm cách nào để đổi tên tên cột có thể đặt dữ liệu mà không làm mất dữ liệu?
Tôi muốn đổi tên tên cột bảng dữ liệu của mình.
Tôi cố gắng này:
dt.Columns[8].ColumnName = "regnum";
dt.AcceptChanges();
nhưng dữ liệu của tôi bị mất sau đó !!
dt.Columns[8].ColumnName = "regnum";
Cột này chỉ gắn Columns[8]
vào cột "regnum" không tồn tại trong Db.
Nếu bạn muốn đổi tên cột Db thực tế, hãy thực thi tập lệnh SQL.
Nhưng tôi đoán là bạn thực sự muốn thay đổi Caption:
dt.Columns[8].Caption = "regnum";
Sau đây là ví dụ:
DataTable Dt = new DataTable();
DataColumn Dc = new DataColumn("Name");
DataColumn Dc1 = new DataColumn("ID");
Dt.Columns.Add(Dc);
Dt.Columns.Add(Dc1);
DataRow dr = Dt.NewRow();
dr["name"] = "1";
dr["ID"] = "111";
Dt.Rows.Add(dr);
dr = Dt.NewRow();
dr["name"] = "2";
dr["ID"] = "11112";
Dt.Rows.Add(dr);
Dt.Columns[0].ColumnName = "ddsxsd";
Dt.AcceptChanges();
tôi không tìm thấy bất kỳ !!!!!!!! mất dữ liệu Bởi vì nó sẽ chỉ thay đổi tên cột.
EDIT
Bạn cũng có thể mang tên cột mong muốn của bạn từ các Stored Procedure của bạn.
Hãy thử điều này:
dataTable.Columns["ExistingColumnName"].ColumnName = "regnum";
hmmmm, nó là một thủ tục lưu trữ mà trả về dữ liệu không ký tên riêng: như thế này '(biểu thức) (biểu thức) .... ' –
xin vui lòng, u có thể giải thích thêm những gì bạn muốn nói không? –