2012-06-22 11 views
13

して、表の列を取得し、私のコードは次のとおりです。私は<code>ADO.Net</code>で<code>GetSchema</code>方法を使用して、テーブルの列のリストを取得したいのGetSchema()メソッド

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

と私は空のDataTableを取得し、何ですか問題?

+1

刺しがあったが、 'VARのdtCols = con.GetSchema( "列"、新しい[] { "DBNAME"、ヌルを、してみてください"TableName"})); – Matthew

+0

マシューがうまくいかれてくれてありがとうございます。 –

答えて

22

"所有者"の制限のパラメータを指定する必要があります。これは、「テーブル名」はあなたがスキーマをするテーブルの名前であると仮定している

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

:。

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

は、これらの答えの両方でビットを一般化することでした。

+0

あなたは明確化を求めているようですね?回答は質問に答えるためのものであり、コメントや助けを求めるものではありません。 – rayryeng

+0

接続がすでにデータベースに接続されている場合は、con.DataSourceではなくデータベース名にnullを指定することもできます。 – Scott

0

私は同様の問題、暗闇の中で次のように働いた。..

using(SqlCommand command = new SqlCommand(sqlText, con)) { 
    var sqlReader = command.ExecuteReader(); 
    var a = sqlReader.GetColumnSchema();       
} 
関連する問題

 関連する問題