19

GetSchemaのメソッドを使用してテーブルの列のリストを取得したいのですがADO.Net、私のコードは次のとおりです。

var dtCols = con.GetSchema("Columns", new[] { "DBName", "TableName" });

そして、私は空DataTableの を取得します。問題は何ですか?

4

4 に答える 4

30

「所有者」制限のパラメーターを指定する必要があります。

var dtCols = con.GetSchema("Columns", new[] { "DBName", null, "TableName" });
于 2012-06-22T17:06:19.567 に答える
1

これらの答えは両方とも、次のように少し一般化できますか。

dtCols = con.GetSchema("Columns", new[] {con.DataSource, null, "TableName"});

これは、「TableName」がスキーマを必要とするテーブルの名前であると想定しています。

于 2015-11-16T18:53:38.453 に答える
0

私は同様の問題を抱えていました、以下はうまくいきました..

using(SqlCommand command = new SqlCommand(sqlText, con)) {
    var sqlReader = command.ExecuteReader();
    var a = sqlReader.GetColumnSchema();                        
}
于 2017-07-25T09:12:29.327 に答える