Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
Sql server 2005 使用DbConnection.GetSchema方法仅获取表列_Sql Server 2005_Getschematable - Fatal编程技术网

Sql server 2005 使用DbConnection.GetSchema方法仅获取表列

Sql server 2005 使用DbConnection.GetSchema方法仅获取表列,sql-server-2005,getschematable,Sql Server 2005,Getschematable,使用C#和SQLServer2005并使用DbConnection.GetSchema()方法,我只想获取表的所有列(而不是视图)。我发现了两个与此相关的集合名称 返回表和视图的列的列 ViewColumns返回视图的所有列 以上两个都不能只返回表列,也不能有任何属性来过滤表列 任何帮助都是值得尊重的。我看不出有任何简单的方法可以使用您试图使用的特定API实现这一点,但为什么不使用这样的查询来获取您的信息呢 SELECT c.name AS 'ColumName', ty.Nam

使用C#和SQLServer2005并使用
DbConnection.GetSchema()
方法,我只想获取表的所有列(而不是视图)。我发现了两个与此相关的集合名称

  • 返回表和视图的列的
  • ViewColumns
    返回视图的所有列
  • 以上两个都不能只返回表列,也不能有任何属性来过滤表列


    任何帮助都是值得尊重的。

    我看不出有任何简单的方法可以使用您试图使用的特定API实现这一点,但为什么不使用这样的查询来获取您的信息呢

    SELECT
        c.name AS 'ColumName',
        ty.Name AS 'TypeName',
        c.max_length,
        c.is_identity,
        c.is_nullable,
        t.name AS 'TableName'
    FROM sys.columns c
    INNER JOIN sys.types ty ON c.user_type_id = ty.user_type_id
    INNER JOIN sys.tables t ON c.object_id = t.object_id
    

    只需将其加载到一个
    SqlCommand
    中,并对已打开的连接执行它,然后将结果读入一些
    DataTable
    或其他结构中供您使用。这只提供了表列,以及所有列

    我知道我们可以通过您的方式实现这一点,但我正在使用此方法执行所有其他操作,如1)使用connection.GetSchema(“ForeignKeys”)获取ForeignKeys;2)使用connection.GetSchema(“index”)获取索引,与我希望通过此操作获取所有表列相同method@user369182当前位置正如我所说的-我认为没有任何方法可以以你想要的方式获得你想要的信息。