我正在尝试获取特定数据表的列名。我试过用这个密码。
datagridFieldCreation.AutoGenerateColumns = false;
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("select * from Add_Information ", con);
sda.Fill(dt);
datagridFieldCreation.DataSource = dt;我得到的是桌子上的全部数据。但是我只想一个一个地显示列名。有人能帮我吗??
发布于 2014-03-12 09:36:48
您可以使用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时,Server的.NET框架数据提供程序将先于SET FMTONLY执行语句。
列名位于每一行的第一列中。
foreach (DataRow col in schema.Rows)
{
Console.WriteLine("ColumnName={0}", col.Field<String>("ColumnName"));
}发布于 2014-03-12 09:38:38
您可以使用:
SELECT * FROM YOURTABLENAME WHERE 0=1
发布于 2014-03-12 10:05:57
是的,这是一个简单的查询,它有一个条件语句,它总是返回false,所以每次执行查询时,都不会提取任何行,只提取您将得到的列,这样您就可以轻松地将这些列放在DataGridView中。
https://stackoverflow.com/questions/22347172
复制相似问题