Result Sets
You can access the same column information about the results of a query that you can for table schemas. See Columns for the columns returned.
Retrieving Result Set Metadata
You can use the GetSchemaTable method of the Sage50UKDataReader to retrieve result set metadata. Call GetSchemaTable after calling ExecuteReader.
Each row of the DataTable describes a column in the query's result.
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)) { Sage50UKCommand cmd = new Sage50UKCommand("SELECT * FROM TradingAccounts WHERE TradingAccountUUID = 'c2ef66a5-a545-413b-9312-79a53caadbc4'", conn); Sage50UKDataReader rdr = cmd.ExecuteReader(); DataTable schemaTable = rdr.GetSchemaTable(); foreach (DataRow row in schemaTable.Rows) { foreach (DataColumn col in schemaTable.Columns) { Console.WriteLine("{0}: {1}", col.ColumnName, row[col]); } } }
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) Dim cmd As New Sage50UKCommand("SELECT * FROM TradingAccounts WHERE TradingAccountUUID = 'c2ef66a5-a545-413b-9312-79a53caadbc4'", conn) Dim rdr As Sage50UKDataReader = cmd.ExecuteReader() Dim schemaTable As DataTable = rdr.GetSchemaTable() For Each row As DataRow In schemaTable.Rows For Each col As DataColumn In schemaTable.Columns Console.WriteLine("{0}: {1}", col.ColumnName, row(col)) Next Next End Using