インデックスカラム
IndexColumns スキーマコレクションは、インデックスとそれに対応するカラムをリストします。インデックスをフィルタリングすることで、より高速なクエリ応答時間でセレクティブクエリを記述できます。
Index カラム情報の取得
このスキーマコレクションを取得するには、MYOBConnection クラスのGetSchema メソッドを呼び出します。結果は、テーブル名に基づいて制限できます。次の例では、MYOB テーブルAccounts の各インデックスのカラムとシーケンス番号を取得します。
C#
String connectionString = " If using an online instance: InitiateOAuth=GETANDREFRESH;OAuthClientId=YourClientId;OAuthClientSecret=YourClientSecret;CompanyFileId=yourCompanyFileId;CallbackURL=http://localhost:33333;User=companyFileUser;Password=companyFilePassword; If using an on premise instance: InitiateOAuth=OFF;URL=http://localhost:8080/accountright;CompanyFileId=327eed10-9615-4e5e-bd9e-ae2cc00e2c70;User=companyFileUser;Password=companyFilePassword;"; using (MYOBConnection conn = new MYOBConnection(connectionString)) { conn.Open(); DataTable databaseSchema = conn.GetSchema("IndexColumns", new string[] {"Accounts"}); foreach (DataRow row in databaseSchema.Rows) { Console.WriteLine(row["COLUMN_NAME"]); Console.WriteLine(row["ORDINAL_POSITION"]); } }
VB.NET
Dim connectionString As String = " If using an online instance: InitiateOAuth=GETANDREFRESH;OAuthClientId=YourClientId;OAuthClientSecret=YourClientSecret;CompanyFileId=yourCompanyFileId;CallbackURL=http://localhost:33333;User=companyFileUser;Password=companyFilePassword; If using an on premise instance: InitiateOAuth=OFF;URL=http://localhost:8080/accountright;CompanyFileId=327eed10-9615-4e5e-bd9e-ae2cc00e2c70;User=companyFileUser;Password=companyFilePassword;" Using conn As New MYOBConnection(connectionString) conn.Open() Dim databaseSchema As DataTable = conn.GetSchema("IndexColumns", New String() {"Accounts"}) For Each row As DataRow In databaseSchema.Rows Console.WriteLine(row["COLUMN_NAME"]) Console.WriteLine(row["ORDINAL_POSITION"]) Next End Using
返されたカラム
IndexColumns スキーマコレクションは、次のカラムを返します。
カラム名 | データ型 | 説明 |
INDEX_CATALOG | System.String | インデックスを含むデータベースの名前。 |
INDEX_SCHEMA | System.String | インデックスを含むスキーマの名前。 |
TABLE_NAME | System.String | インデックスを含むテーブルの名前。 |
INDEX_NAME | System.String | インデックスの名前。 |
COLUMN_NAME | System.String | インデックスに関連付けられたカラムの名前。 |
ORDINAL_POSITION | System.Int32 | カラムのシーケンス番号。 |
SORT_ORDER | System.Int32 | 昇順の場合はA、降順の場合はD を返します。 |