GetSchema
のメソッドを使用してテーブルの列のリストを取得したいのですがADO.Net
、私のコードは次のとおりです。
var dtCols = con.GetSchema("Columns", new[] { "DBName", "TableName" });
そして、私は空DataTable
の を取得します。問題は何ですか?
「所有者」制限のパラメーターを指定する必要があります。
var dtCols = con.GetSchema("Columns", new[] { "DBName", null, "TableName" });
これらの答えは両方とも、次のように少し一般化できますか。
dtCols = con.GetSchema("Columns", new[] {con.DataSource, null, "TableName"});
これは、「TableName」がスキーマを必要とするテーブルの名前であると想定しています。
私は同様の問題を抱えていました、以下はうまくいきました..
using(SqlCommand command = new SqlCommand(sqlText, con)) {
var sqlReader = command.ExecuteReader();
var a = sqlReader.GetColumnSchema();
}