更改DataTable列名方法

时间:2022-06-02 17:59:44

1.通过DataAdapter将查询的结果填充到DataSet的表(DataTable)中;

如:dataAdapter.Fill(dataSet),这时dataSet的表名默认为Table

如果使用批处理查询并将得到的结果填入dataSet中则表名默认为Table,Table1,Table2……

2,将显示控件(如DataGridView)的DataSource静态或动态的设置成该表;

如:dataGridView1.DataSource = DataSet[A].Tables["tableName"];

此结果显示出来的列名为实际数据库中的列名,而一般在数据库里的字段名都是英文或拼音的简写,所以我们有必要用便于用户理解的字段名显示在交互界面上。琢磨了一下有如下三种方法:

1.DataAdapter的SQL别名;

ELECE PID AS "代码" From ……

2.填充Dataset之前进行映射,映射包括表明映射和列名映射;

dataAdapter.TableMappings.Add("Table","Customer"); //表映射
   dataAdapter.TableMappings("Customer").ColumnMappings.Add("CustomerID","ID); //列映射
   dataAdapter.FIll(dataSet,"Customer");

在dataAdapter中添加表名映射后,相对有两个表,一个表是原先的表,另一个表是映射后的表,
    列名也经过相应的映射,因此在Fill时要指定是哪个表,否则显示的时候就不会显示映射后的列名。
    另外在表名映射后,在数据绑定时只能指定dataMember为Student。

3.直接修改表的列名

DataSet.Tables["XX"].Columns["xx"].ColumnName = "NewColumnName";