Ответ 1
Попробуйте следующее:
dataTable.Columns["Marks"].ColumnName = "SubjectMarks";
У меня есть один DataTable, который имеет четыре столбца, такие как
StudentID CourseID SubjectCode Marks
------------ ---------- ------------- --------
1 100 MT400 80
2 100 MT400 79
3 100 MT400 88
Здесь я вставляю этот Datatable в таблицу сервера Sql, передавая этот datatable как таблицу XML.
Я просто хочу изменить имя столбца 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 вы можете просто заменить теги XML <Marks>... content here </Marks>
на <SubjectMarks>... content here </SubjectMarks>tag
. и передать обновленный XML в вашу БД.
Изменить: здесь я объясню полный процесс.
Ваш XML Generate Как показано ниже.
<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 в вашу БД. Надеюсь, это поможет вам.
Используйте этот
dataTable.Columns["OldColumnName"].ColumnName = "NewColumnName";