Wie ändere ich den Spaltennamen der DataTable?


118

Ich habe eine DataTable, die vier Spalten hat, wie z

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

Hier füge ich diese Datentabelle in die SQL Server-Tabelle ein, indem ich diese Datentabelle als XML-Tabelle übergebe.

Ich möchte nur den DataTable-Spaltennamen "Marks" als "SubjectMarks" ändern und diese DataTable als XML-Tabelle übergeben.

Ich weiß, wie man die DataTable als XML-Tabelle übergibt. Aber ich weiß nicht, wie man den DataTable-Spaltennamen "Marks" als "SubjectMarks" ändert.

Antworten:


251

Versuche dies:

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

1
Hallo, ich habe diese Lösung ausprobiert, aber irgendwie gehen meine Daten verloren, wenn ich den Spaltennamen ändere.
Bat_Programmer

2
Ich habe diese Lösung gerade ausprobiert und sie funktioniert einwandfrei - sie hat keine Änderungen vorgenommen oder die zugrunde liegenden Spaltendaten gelöscht. Vielleicht passiert etwas anderes in Ihrem Code ...
AshesToAshes

1
Was ist, wenn der ursprüngliche Name 'Marks' Leerzeichen enthalten kann?
Lawphotog

27

Benennen Sie die Spalte folgendermaßen um:

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

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

Was macht Ihr zusätzlicher Code hier? Das Hinzufügen von Kommentaren würde helfen.
Nawfal

1

Nach dem Generieren von XML können Sie Ihre XML <Marks>... content here </Marks>Tags einfach durch ersetzen <SubjectMarks>... content here </SubjectMarks>tag. und übergeben Sie aktualisiertes XML an Ihre Datenbank.

Edit: Ich erkläre hier den kompletten Prozess hier.

Ihre XML-Generierung wie folgt.

<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>

Hier können Sie Zeichenfolgenvariablen wie as XML zuweisen

string strXML = DataSet.GetXML();

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

und übergeben Sie nun strXML an Ihre Datenbank. Hoffe es wird dir helfen.


1

Versuche dies

"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}

]]

Geben Sie hier die Bildbeschreibung ein


0

Benutze das

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

0

Verwenden:

dt.Columns["Name"].ColumnName = "xyz";
dt.AcceptChanges();

oder

dt.Columns[0].ColumnName = "xyz";
dt.AcceptChanges();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.