首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c#中从数据表获取数据到网格视图

在c#中从数据表获取数据到网格视图
EN

Stack Overflow用户
提问于 2014-03-12 09:32:43
回答 3查看 53关注 0票数 0

我正在尝试获取特定数据表的列名。我试过用这个密码。

代码语言:javascript
复制
datagridFieldCreation.AutoGenerateColumns = false;
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("select * from Add_Information ", con);
sda.Fill(dt);
datagridFieldCreation.DataSource = dt;

我得到的是桌子上的全部数据。但是我只想一个一个地显示列名。有人能帮我吗??

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-12 09:36:48

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

代码语言:javascript
复制
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时,Server的.NET框架数据提供程序将先于SET FMTONLY执行语句。

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

代码语言:javascript
复制
foreach (DataRow col in schema.Rows)
{
    Console.WriteLine("ColumnName={0}", col.Field<String>("ColumnName"));
}

加自:使用GetSchemaTable()只检索列名

票数 1
EN

Stack Overflow用户

发布于 2014-03-12 09:38:38

您可以使用:

SELECT * FROM YOURTABLENAME WHERE 0=1

票数 0
EN

Stack Overflow用户

发布于 2014-03-12 10:05:57

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22347172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档