Index Columns
The IndexColumns schema collection lists the indexes and their corresponding columns. By filtering on indexes, you can write more selective queries with faster query response times.
Retrieving Index Column Information
To retrieve this schema collection, call the GetSchema method of the ReckonAccountsHostedConnection class. You can restrict the results by table name. The following example retrieves the column and sequence number for each index of the Reckon Accounts Hosted table Customers.
C#
String connectionString = "SubscriptionKey=test;CountryVersion=2021.R2.AU;CompanyFile=Q:/CData Software.QBW;User=test;Password=test;InitiateOAuth=GETANDREFRESH;CallbackURL=http://localhost:33333;OAuthClientId=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;"; using (ReckonAccountsHostedConnection conn = new ReckonAccountsHostedConnection(connectionString)) { conn.Open(); DataTable databaseSchema = conn.GetSchema("IndexColumns", new string[] {"Customers"}); foreach (DataRow row in databaseSchema.Rows) { Console.WriteLine(row["COLUMN_NAME"]); Console.WriteLine(row["ORDINAL_POSITION"]); } }
VB.NET
Dim connectionString As String = "SubscriptionKey=test;CountryVersion=2021.R2.AU;CompanyFile=Q:/CData Software.QBW;User=test;Password=test;InitiateOAuth=GETANDREFRESH;CallbackURL=http://localhost:33333;OAuthClientId=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;" Using conn As New ReckonAccountsHostedConnection(connectionString) conn.Open() Dim databaseSchema As DataTable = conn.GetSchema("IndexColumns", New String() {"Customers"}) For Each row As DataRow In databaseSchema.Rows Console.WriteLine(row["COLUMN_NAME"]) Console.WriteLine(row["ORDINAL_POSITION"]) Next End Using
Columns Returned
The IndexColumns schema collection returns the following columns:
Column Name | Data Type | Description |
INDEX_CATALOG | System.String | The name of the database containing the index. |
INDEX_SCHEMA | System.String | The name of the schema containing the index. |
TABLE_NAME | System.String | The name of the table containing the index. |
INDEX_NAME | System.String | The name of the index. |
COLUMN_NAME | System.String | The name of the column associated with the index. |
ORDINAL_POSITION | System.Int32 | The sequence number of the column. |
SORT_ORDER | System.Int32 | Returns A for ascending and D for descending. |