关于从datatable获取数据到gridview c#

时间:2014-03-12 09:32:43

标签: c#

我正在尝试获取特定数据表的列名。 我试过这段代码。

datagridFieldCreation.AutoGenerateColumns = false;
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("select * from Add_Information ", con);
sda.Fill(dt);
datagridFieldCreation.DataSource = dt;

我正在获取表格中的完整数据。但我希望只逐列显示列名。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

您可以使用ExecuteReader(CommandBehavior.SchemaOnly))

DataTable schema = null;
using (var con = new SqlConnection(connection))
{
    using (var schemaCommand = new SqlCommand("SELECT * FROM Add_Information", con))
    {
        con.Open();
        using (var reader = schemaCommand.ExecuteReader(CommandBehavior.SchemaOnly))
        {
            schema = reader.GetSchemaTable();
        }
    }
}

datagridFieldCreation.DataSource = schema;

SchemaOnly

  

查询仅返回列信息。使用SchemaOnly时,   SQL Server的.NET Framework数据提供程序位于语句之前   使用SET FMTONLY ON执行。

列名称位于每行的第一列。

foreach (DataRow col in schema.Rows)
{
    Console.WriteLine("ColumnName={0}", col.Field<String>("ColumnName"));
}

来自:Using GetSchemaTable() to retrieve only column names

答案 1 :(得分:0)

您可以使用:

SELECT * FROM YOURTABLENAME WHERE 0=1

答案 2 :(得分:0)

可以肯定的是,这是一个简单的查询,它有一个条件语句总是返回false,所以每次执行查询时都不会提取任何行,只有你会得到的列,所以你可以轻松地将这些列放在你的的DataGridView。