0

C# と SQL Server 2005 を使用し、DbConnection.GetSchema()メソッドを使用して、(ビューではなく) すべてのテーブルの列のみを取得したいと考えています。これに関連する 2 つのコレクション名を見つけました

  1. Columns テーブルとビューの列を返す
  2. ViewColumnsビューのすべての列を返します

上記の 2 つのいずれも、テーブル列のみを返すことも、Table-columns をフィルター処理するプロパティもありません。

どんな助けも尊重されます。

4

1 に答える 1

0

これを実現しようとしているこの特定の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構造に読み込んで使用します。これにより、テーブル列のみが表示され、それらすべてが表示されます。

于 2011-12-26T09:33:22.033 に答える