ADO.NET Provider for Sage 50 UK

Build 23.0.8839

インデックスカラム

IndexColumns スキーマコレクションは、インデックスとそれに対応するカラムをリストします。インデックスをフィルタリングすることで、より高速なクエリ応答時間でセレクティブクエリを記述できます。

Index カラム情報の取得

このスキーマコレクションを取得するには、Sage50UKConnection クラスのGetSchema メソッドを呼び出します。結果は、テーブル名に基づいて制限できます。次の例では、Sage 50 UK テーブルTradingAccounts の各インデックスのカラムとシーケンス番号を取得します。

C#

String connectionString = "URL=http://localhost:5493/sdata/accounts50/GCRM/{C4C863BE-B098-4A7D-A78B-D7A92B8ADB59};User=Manager;Password=xxxxxx;";

using (Sage50UKConnection conn = new Sage50UKConnection(connectionString)) {
  conn.Open();
  DataTable databaseSchema = conn.GetSchema("IndexColumns", new string[] {"TradingAccounts"});
  foreach (DataRow row in databaseSchema.Rows) {
    Console.WriteLine(row["COLUMN_NAME"]);
    Console.WriteLine(row["ORDINAL_POSITION"]);
  }
}

VB.NET

Dim connectionString As String = "URL=http://localhost:5493/sdata/accounts50/GCRM/{C4C863BE-B098-4A7D-A78B-D7A92B8ADB59};User=Manager;Password=xxxxxx;"

Using conn As New Sage50UKConnection(connectionString)
  conn.Open()
  Dim databaseSchema As DataTable = conn.GetSchema("IndexColumns",  New String() {"TradingAccounts"})
  For Each row As DataRow In databaseSchema.Rows
    Console.WriteLine(row["COLUMN_NAME"])
    Console.WriteLine(row["ORDINAL_POSITION"])
  Next
End Using

返されたカラム

IndexColumns スキーマコレクションは、次のカラムを返します。

カラム名データ型説明
INDEX_CATALOGSystem.Stringインデックスを含むデータベースの名前。
INDEX_SCHEMASystem.Stringインデックスを含むスキーマの名前。
TABLE_NAMESystem.Stringインデックスを含むテーブルの名前。
INDEX_NAMESystem.Stringインデックスの名前。
COLUMN_NAMESystem.Stringインデックスに関連付けられたカラムの名前。
ORDINAL_POSITIONSystem.Int32カラムのシーケンス番号。
SORT_ORDERSystem.Int32昇順の場合はA、降順の場合はD を返します。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839