1
SQL Serverデータベースから、選択したテーブルとデータベースの列の列、データ型、およびサイズを取得しようとしています。列名とデータ型を取得する
これまでのところ、カラム名とデータ型の取得に成功しましたが、サイズもフェッチしたいと思います。
例:今、私はnvarchar
とsalary
データ型と名前と給与を取得することができていますが、サイズが来ていない
1) Name nvarchar(30)
3) Salary decimal(6,2)
:私は以下のようなSQL Serverデータベースのテーブルの2列を持って考えてみましょう。
コード:
String[] columnRestrictions = new String[4];
columnRestrictions[0] = 'MyDb';
columnRestrictions[1] = 'dbo';
columnRestrictions[2] = 'Employee';
using (SqlConnection con = new SqlConnection("MyConnectionString"))
{
con.Open();
var columns = con.GetSchema("Columns", columnRestrictions).AsEnumerable()
.Select(c => new (c[3].ToString(), c.Field<string>("DATA_TYPE"))).ToList();
は私が取得しています結果は以下のようなものです:
Name nvarchar
Salary decimal
期待される結果:
1) Name nvarchar(30)
3) Salary decimal(6,2)
ソースコード:Reference
はそれがpossiblです上記の結果を得るには?
コードの使い方を教えてもらえますか? –
一般的に正しいですが、char/nvarcharを除いて、私はむしろ 'character_maximum_length'カラム値を使って言うでしょう。 –