質問

私は読書データベースのスキーマのためのVistaDB4.0を使用してデータベースの標準ADO.NET 'DbConnection.GetSchema'APIに含まれています。まだ見を得るのは設定カラム?のタイムスキーマコないカラムのこと私はよく知らないのは他のすべてのコレクションおいしい食べ物が見えます。

することができない場合はより照会を利用蔵ないと、クエリーシステムテーブルのとおりです。

の手によりお願い申し上げます。

役に立ちましたか?

解決

ありません"sys"テーブルVistaDB.ある[データベースのスキーマ】テーブルを含むのに必要なものです。

[データベースのスキーマ]

を得ることができidカラムのためのデータベースのデータベースのスキーマテーブルのようになります:

select * from [database schema] where typeid = 6

を見るとヘルプファイルのタイプidの一覧うことができる。

その後、リスト、それに合わせ、typeidテーブルにテーブルのカラムから取りました。

のキャッチボールデータベースのスキーマテーブルがうことはできませんので自己参照の参加で自分自身へ(デザインあると考えられます。だき、参照からもいい二つのコマンドにより温ます。のヘルプファイルはどのようなことができます。

代わりに

も見ることができすべてのカラムを使用VistaDB保存論文集:

select * from VistaDBColumnSchema() where is_identity = true

DDA

が必要な場合は、次の値を、種子などを使用できる必要がありますされていDDA(直接データアクセスした。

のアイデンティティ性、IVistaDBTableSchemaオブジェクトのアイデンティティとする。その収集でき歩きの個々の値です。

のアイデンティティ情報の含まれの種子、ステップ、Tablename、Columnname.

ADO.NET GetSchemaTable方法

やりがいものです。話ができGetSchemaTable、リーダーへの情報配下の構造です。

using (VistaDBConnection cn = new VistaDBConnection("Data Source=" + dbName))
{
    cn.Open();

    using (VistaDBCommand cmd = new VistaDBCommand("Select * from simpletable", cn))
    {
        using (VistaDBDataReader myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo))
        {
            //Retrieve column schema into a DataTable.
            DataTable schemaTable = myReader.GetSchemaTable();

            foreach (DataRow myField in schemaTable.Rows)
            {
                foreach (DataColumn myProperty in schemaTable.Columns)
                {
                    System.Diagnostics.Debug.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
                }
            }
        }
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top