結果セットまたはデータベース構造の定義は、プログラムを使用して取得できます。これらの記述はスキーマ情報と呼ばれます。この情報は、Ultra Light C API スキーマクラスから使用できます。
Ultra Light C API を使用してスキーマを変更することはできません。スキーマ情報の取得のみが可能です。
次のスキーマオブジェクトと情報にアクセスできます。
ULResultSetSchema クエリ、またはテーブル内のデータの定義です。識別子、名前、各カラムの型情報、およびテーブル内のカラム数を公開します。ULResultSetSchema クラスは、以下のクラスから取得できます。
ULDatabaseSchema データベース内のテーブルとパブリケーションの数と名前、日付と時刻の形式などのグローバルプロパティを公開します。ULDatabaseSchema クラスは、ULConnection クラスから取得できます。
ULTableSchema カラムとインデックスの設定に関する情報を公開します。ULTableSchema クラスのカラム情報は、ULResultSetSchema クラスから利用できる情報を補完します。たとえば、カラムにデフォルト値があるかどうか、または NULL 値を許可するかどうかを判別できます。ULTableSchema クラスは、ULTable クラスから取得できます。
ULIndexSchema インデックス内のカラムに関する情報を返します。ULIndexSchema クラスは、ULTableSchema クラスから取得できます。
ポインタとして返される ULDatabaseSchema、ULTableSchema、および ULIndexSchema クラスと異なり、ULResultSetSchema クラスは定数参照として返されます。定数参照を返すクラスは閉じられませんが、ポインタとして返されるクラスは閉じる必要があります。
次のコードは、スキーマクラスの正しい閉じ方と不正な閉じ方を示しています。
// This code demonstrates proper use of the ULResultSetSchema class: const ULResultSetSchema & rss = prepStmt->GetResultSetSchema(); c_count = prepStmt->GetSchema().GetColumnCount(); // This code demonstrates proper use of the ULDatabaseSchema class: ULDatabaseSchema * dbs = conn->GetResultSetSchema(); t_count = dbs->GetTableCount(); dbs->Close(); // This line is required. // This code demonstrates improper use of the ULDatabaseSchema class // because the object needs to be closed using the Close method: t_count = conn->GetResultSetSchema()->GetTableCount(); |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |