C# 使用Adapter.Fill时设置动态列名,使用SQL Server conn填充数据表

C# 使用Adapter.Fill时设置动态列名,使用SQL Server conn填充数据表,c#,.net,datatable,sqldataadapter,C#,.net,Datatable,Sqldataadapter,我正在用SQL Server查询结果填充数据表,如下所示: System.Data.DataTable dataTableSQL = new System.Data.DataTable(); // write the sqlCode to dataTableSQL via adapter using (SqlConnection conn = new SqlConnection(@"Data Source=myServerName;Initial Catalog=myDB;Integrated

我正在用SQL Server查询结果填充数据表,如下所示:

System.Data.DataTable dataTableSQL = new System.Data.DataTable();

// write the sqlCode to dataTableSQL via adapter
using (SqlConnection conn = new SqlConnection(@"Data Source=myServerName;Initial Catalog=myDB;Integrated Security = SSPI"))
{
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = new SqlCommand(SQLCode, conn);

    conn.Open();
    adapter.Fill(dataTableSQL);
    conn.Close();
}
此方法可能会忽略dataTable中的列名。当我运行下面的代码时,我只得到查询结果的第一行:

foreach (DataColumn column in dataTableSQL.Columns)
{
    Console.WriteLine(dataTableSQL.Rows[0][column.ColumnName].ToString());
}
这是一个有用的参考,但不幸的是,我的表有30多列,而且我的列名是动态的,所以这对我没有好处


有没有一种简单的方法可以将动态列名添加到数据表中,以便在报告中使用它们

列名不在第0行中。它们位于枚举dataTableSQL.Columns属性中。应该是:Console.WriteLine(column.ColumnName)@完美男人谢谢你