Sql server 2005 使用DbConnection.GetSchema方法仅获取表列
使用C#和SQLServer2005并使用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
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当前位置正如我所说的-我认为没有任何方法可以以你想要的方式获得你想要的信息。