Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从SQL数据库返回列名_C#_Sql - Fatal编程技术网

C# 如何从SQL数据库返回列名

C# 如何从SQL数据库返回列名,c#,sql,C#,Sql,问题说明了一切,我只想从一个表中获取所有列名,我正在寻找尽可能基本的方法来实现这一点 如果运行以下SQL,将得到一个空行集。您可以使用SqlCommand和DataReader从中解释列名 如果运行以下SQL,将得到一个空行集。您可以使用SqlCommand和DataReader从中解释列名 这完全取决于数据库。几乎所有数据库都有关于数据库的某种元数据。大多数实现了信息模式方法的某些版本 例如,获取列信息的常用方法是: select column_name from information_sc

问题说明了一切,我只想从一个表中获取所有列名,我正在寻找尽可能基本的方法来实现这一点

如果运行以下SQL,将得到一个空行集。您可以使用SqlCommand和DataReader从中解释列名


如果运行以下SQL,将得到一个空行集。您可以使用SqlCommand和DataReader从中解释列名


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

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

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

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

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

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

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

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

这应该可以满足您的需要

public string[] getColumnsName()
{
    List<string> listacolumnas=new List<string>();
    using (SqlConnection connection = new SqlConnection(Connection))
        using (SqlCommand command = connection.CreateCommand())
        {
            command.CommandText = "select c.name from sys.columns c inner join sys.tables t on t.object_id = c.object_id and t.name = 'Usuarios' and t.type = 'U'";
            connection.Open();
            using (var reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    listacolumnas.Add(reader.GetString(0));
                }
            }
        }
    return listacolumnas.ToArray();
}

这应该是你想要的

public string[] getColumnsName()
{
    List<string> listacolumnas=new List<string>();
    using (SqlConnection connection = new SqlConnection(Connection))
        using (SqlCommand command = connection.CreateCommand())
        {
            command.CommandText = "select c.name from sys.columns c inner join sys.tables t on t.object_id = c.object_id and t.name = 'Usuarios' and t.type = 'U'";
            connection.Open();
            using (var reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    listacolumnas.Add(reader.GetString(0));
                }
            }
        }
    return listacolumnas.ToArray();
}

您可以查询数据库模式,因为链接中的16个答案中没有一个是OP最希望看到pim答案的,所以我不认为它是重复的,而不是重复的。这个问题被标记为C和SQL,可能的重复项仅为SQL。您可以查询数据库架构,因为链接中16个答案中的任何一个的建议可能重复项都不是OP最希望看到pim的答案,所以我不认为它是重复项。不是重复项。这个问题被标记为C和SQL,可能的重复只是SQL。他问如何使用CHe,他问如何使用C