クライアントインターフェイスガイド > TDV用TIBCO ADO .NET 2020データプロバイダー > スキーマ検出 >
 
Columns(列)
データベースで使用可能な列のメタデータにアクセスするには、Columnsスキーマコレクションを取得します。 ViewColumnsスキーマコレクションを取得することにより、ビューの列メタデータにアクセスすることもできます。
または、結果セットからメタデータを取得します。結果セットのメタデータには、ColumnsおよびViewColumnsスキーマコレクションと同じ列が返されます。下記参照。
列メタデータの取得
CompositeConnectionクラスのGetSchemaメソッドを呼び出して、ColumnsまたはViewColumnsスキーマコレクションを取得します。次の例に示すように、テーブル名で結果を制限できます。
 
C#
 
string connectionString = "Host=myHost;Domain=myDomain;DataSource=myDataSource;User=myUser;Password=myPassword";
using (CompositeConnection conn = new CompositeConnection(connectionString)) {
conn.Open();
DataTable databaseSchema = conn.GetSchema("Columns", new string[] {"Products"});
foreach (DataRow column in databaseSchema.Rows) {
Console.WriteLine(column["COLUMN_NAME"]);
Console.WriteLine(column["IS_KEY"]);
Console.WriteLine(column["DATA_TYPE"]);
}
}
VB.NET
 
Dim connectionString As String = "Host=myHost;Domain=myDomain;DataSource=myDataSource;User=myUser;Password=myPassword"
Using conn As New CompositeConnection(connectionString)
conn.Open()
Dim databaseSchema As DataTable = conn.GetSchema("Columns", New String() {"Products"})
For Each column As DataRow In databaseSchema.Rows
Console.WriteLine(column("COLUMN_NAME"))
Console.WriteLine(column("IS_KEY"))
Console.WriteLine(column("DATA_TYPE"))
Next
End Using
返された列
クエリから返されるColumnsおよびViewColumnsスキーマコレクションとDataTablesには、次の列が含まれています。
 
列名
データタイプ
説明
TABLE_CATALOG
System.String
テーブルを含むデータベース。
TABLE_SCHEMA
System.String
テーブルを含むスキーマ。
TABLE_NAME
System.String
列を含むテーブル。
COLUMN_NAME
System.String
列名。
ORDINAL_POSITION
System.Int32
列のシーケンス番号。
COLUMN_DEFAULT
System.String
列のデフォルト値。
IS_NULLABLE
System.String
列がNULL値を許可するかどうか。この値はYESまたはNOです。
データ・タイプ
System.String
列のデータタイプ。
CHARACTER_MAXIMUM_LENGTH
System.Int32
文字データを含む列の最大文字数。
NUMERIC_PRECISION
System.Int32
数値データに許可される最大桁数。
NUMERIC_SCALE
System.Int32
数値データの最大列スケールまたは小数点の右側の桁数。
DATETIME_PRECISION
System.Int32
パラメータタイプがdatetimeまたはsmalldatetimeの場合、秒単位で精度を返します。それ以外の場合は、NULLを返します。
CHARACTER_SET_NAME
System.String
文字データを含む列の文字セットの名前。
COLUMN_COMMENT
System.String
列の簡単な説明。
IS_KEY
System.Boolean
列がTABLE_NAMEによって参照されるテーブルの主キーであるかどうか。
IS_READONLY
System.Boolean
列が読み取り専用かどうか。
PROVIDER_TYPE
システムタイプ
実行している言語に応じた適切なデータタイプを示します。