问题说真的,我只想要一张表中的所有列名,我正在寻找尽可能这样做的基本方法。
答案 0 :(得分:2)
如果运行以下SQL,您将获得一个空行集。您可以使用SqlCommand
和DataReader
来解释列名称。
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 = ?;
?
是表名和架构的占位符。