如何更改数据表列名?


118

我有一个DataTable,其中有四列,例如

 StudentID        CourseID          SubjectCode            Marks    
------------     ----------        -------------          --------
    1               100              MT400                  80
    2               100              MT400                  79
    3               100              MT400                  88

在这里,我通过将此数据表作为XML表传递来将此数据表插入Sql服务器表。

我只想将DataTable列名“ Marks”更改为“ SubjectMarks”,然后将此DataTable作为XML表传递。

我知道如何将DataTable作为XML表传递。但是我不知道如何将DataTable列名“ Marks”更改为“ SubjectMarks”。

Answers:


251

试试这个:

dataTable.Columns["Marks"].ColumnName = "SubjectMarks";

1
嗨,我尝试了这种解决方案,但是当我更改列名时,我的数据以某种方式丢失了。
Bat_Programmer 2011年

2
我现在刚刚尝试了此解决方案,并且效果很好-它没有进行任何更改或清除了基础列数据。也许您的代码中正在发生其他事情……
AshesToAshes 2013年

1
如果原始名称“标记”可以包含空格怎么办?
lawphotog 2014年

27

通过执行以下操作重命名该列:

dataTable.Columns["ColumnName"].ColumnName = "newColumnName";

7
 dtTempColumn.Columns["EXCELCOLUMNS"].ColumnName = "COLUMN_NAME";                        
 dtTempColumn.AcceptChanges();

您的其他代码在这里做什么?添加评论会有所帮助。
nawfal

1

生成XML之后,您只需将XML <Marks>... content here </Marks>标记替换为即可<SubjectMarks>... content here </SubjectMarks>tag。并将更新的XML传递给数据库。

编辑:我在这里解释完整的过程。

您的XML生成方式如下。

<NewDataSet>
      <StudentMarks> 
          <StudentID>1</StudentID>
          <CourseID>100</CourseID>
          <SubjectCode>MT400</SubjectCode>
          <Marks>80</Marks>
      </StudentMarks>
      <StudentMarks> 
          <StudentID>1</StudentID>
          <CourseID>100</CourseID>
          <SubjectCode>MT400</SubjectCode>
          <Marks>79</Marks>
      </StudentMarks>
      <StudentMarks> 
          <StudentID>1</StudentID>
          <CourseID>100</CourseID>
          <SubjectCode>MT400</SubjectCode>
          <Marks>88</Marks>
      </StudentMarks>
  </NewDataSet>

在这里,您可以将XML分配给字符串变量,例如

string strXML = DataSet.GetXML();

strXML = strXML.Replace ("<Marks>","<SubjectMarks>");
strXML = strXML.Replace ("<Marks/>","<SubjectMarks/>");

现在将strXML传递给您的数据库。希望对您有帮助。


1

试试这个

"columns": [
{data: "id", name: "aaa", sortable: false},
{data: "userid", name: "userid", sortable: false},
{data: "group_id", name: "group_id", sortable: false},
{data: "group_name", name: "group_name", sortable: false},
{data: "group_member", name: "group_member"},
{data: "group_fee", name: "group_fee"},
{data: "dynamic_type", name: "dynamic_type"},
{data: "dynamic_id", name: "dynamic_id"},
{data: "content", name: "content", sortable: false},
{data: "images", name: "images", sortable: false},
{data: "money", name: "money"},
{data: "is_audit", name: "is_audit", sortable: false},
{data: "audited_at", name: "audited_at", sortable: false}

]

在此处输入图片说明



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.