c# - una - ¿Cómo cambiar el nombre de columna de DataTable?
obtener nombre de columnas datatable c# (6)
Tengo una DataTable que tiene cuatro columnas, como
StudentID CourseID SubjectCode Marks
------------ ---------- ------------- --------
1 100 MT400 80
2 100 MT400 79
3 100 MT400 88
Aquí estoy insertando esta tabla de datos en la tabla del servidor Sql pasando esta tabla de datos como una tabla XML.
Solo quiero cambiar el nombre de columna de DataTable "Marks" como "SubjectMarks" y pasar esta DataTable como una tabla XML.
Sé cómo pasar el DataTable como una tabla XML. Pero no sé, cómo cambiar el nombre de columna de DataTable "Marks" como "SubjectMarks".
Cambie el nombre de la columna haciendo lo siguiente:
dataTable.Columns["ColumnName"].ColumnName = "newColumnName";
Prueba esto:
dataTable.Columns["Marks"].ColumnName = "SubjectMarks";
Utilizar esta
dataTable.Columns["OldColumnName"].ColumnName = "NewColumnName";
Utilizar:
dt.Columns["Name"].ColumnName = "xyz";
dt.AcceptChanges();
o
dt.Columns[0].ColumnName = "xyz";
dt.AcceptChanges();
después de generar XML, puede reemplazar sus etiquetas XML <Marks>... content here </Marks>
con etiquetas <SubjectMarks>... content here </SubjectMarks>tag
. y pasar XML actualizado a su base de datos.
Editar: Aquí explico el proceso completo aquí.
Su XML Generate Like como a continuación.
<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>
Aquí puede asignar XML a la variable de cadena como
string strXML = DataSet.GetXML();
strXML = strXML.Replace ("<Marks>","<SubjectMarks>");
strXML = strXML.Replace ("<Marks/>","<SubjectMarks/>");
y ahora pasa strXML a tu DB. Espero que te ayude.
dtTempColumn.Columns["EXCELCOLUMNS"].ColumnName = "COLUMN_NAME";
dtTempColumn.AcceptChanges();