【问题标题】:How to change the DataTable Column Name?如何更改数据表列名?
【发布时间】:2011-09-18 10:22:07
【问题描述】:

我有一个 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”。

【问题讨论】:

    标签: c# asp.net ado.net datatable


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 嗨,我尝试了这个解决方案,但是当我更改列名时,我的数据不知何故丢失了。
    • 我现在刚刚尝试了这个解决方案,它工作正常 - 它没有做任何更改或清除基础列数据。也许你的代码中发生了其他事情......
    • 如果原始名称“Marks”可以包含空格怎么办?
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
       dtTempColumn.Columns["EXCELCOLUMNS"].ColumnName = "COLUMN_NAME";                        
       dtTempColumn.AcceptChanges();
      

      【讨论】:

      • 你的附加代码在这里做什么?添加 cmets 会有所帮助。
      【解决方案4】:

      用途:

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

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

      【讨论】:

        【解决方案5】:

        生成 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 分配给字符串变量,例如 as

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

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

        【讨论】:

          【解决方案6】:

          使用这个

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

          【讨论】:

            【解决方案7】:

            试试这个

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

            ]

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2019-12-02
              • 1970-01-01
              • 2021-02-15
              • 1970-01-01
              • 1970-01-01
              • 2019-04-28
              • 1970-01-01
              相关资源
              最近更新 更多