如何从SQL数据库返回列名

时间:2017-10-15 17:20:55

标签: c# sql

问题说真的,我只想要一张表中的所有列名,我正在寻找尽可能这样做的基本方法。

2 个答案:

答案 0 :(得分:2)

如果运行以下SQL,您将获得一个空行集。您可以使用SqlCommandDataReader来解释列名称。

using (var conn = new SqlConnection("your_conn_string"))
{
    var command = new SqlCommand("select * from [dbo].[tableName] where 1 = 2");
    conn.Open();

    using(var dr = command.ExecuteReader())
    {
        var columns = new List<string>();

        for(int i=0;i<reader.FieldCount;i++)
        {
           columns.Add(reader.GetName(i));
        }
    }
}

答案 1 :(得分:0)

这完全取决于数据库。几乎所有数据库都有关于数据库的某种元数据。大多数实现了information_schema方法的某个版本。

例如,获取有关列信息的常用方法是:

select column_name
from information_schema.columns
where table_name = ? and table_schema = ?;

?是表名和架构的占位符。

相关问题