如何更改DataTable列名称?

我有一个DataTable有四个列,如

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

在这里,我将这个Datatable作为一个XML表传递到Sql server表中。

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

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

尝试这个:

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

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

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

生成XML之后,您可以用<SubjectMarks>... content here </SubjectMarks>tagreplaceXML <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分配给像as一样的stringvariables

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

现在将strXML传递给你的数据库。 希望它会帮助你。

用这个

 dataTable.Columns["OldColumnName"].ColumnName = "NewColumnName";