如何在不丢失数据的情况下重命名数据表列名?

Any*_*are 6 c# linq asp.net datatable

问:

我想重命名我的数据表列名称.

我试过这个:

dt.Columns[8].ColumnName = "regnum";

dt.AcceptChanges();
Run Code Online (Sandbox Code Playgroud)

但是之后我的数据丢失了!!

Pan*_*kaj 11

以下是示例:

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();
Run Code Online (Sandbox Code Playgroud)

我没有发现任何数据丢失!!!!!!!! 因为它只会改变列名.

编辑

您还可以从存储过程中提取所需的列名称.


Hen*_*man 9

dt.Columns[8].ColumnName = "regnum";
Run Code Online (Sandbox Code Playgroud)

这只会将您绑定Columns[8]到Db中不存在的"regnum"列.

如果要重命名实际的Db列,请执行SQL脚本.

但我的猜测是你真的想改变标题:

  dt.Columns[8].Caption = "regnum";
Run Code Online (Sandbox Code Playgroud)