ADO.NET Provider for Blackbaud Raisers Edge NXT

Build 23.0.8839

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 RaiserEdgeNXTDataReader 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 = "InitiateOAuth=GETANDREFRESH;SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;";

using (RaiserEdgeNXTConnection conn = new RaiserEdgeNXTConnection(connectionString)) {
  RaiserEdgeNXTCommand cmd = new RaiserEdgeNXTCommand("SELECT * FROM Constituents WHERE Type = 'Home'", conn);
  RaiserEdgeNXTDataReader 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 = "InitiateOAuth=GETANDREFRESH;SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;"

Using conn As New RaiserEdgeNXTConnection(connectionString)
  Dim cmd As New RaiserEdgeNXTCommand("SELECT * FROM Constituents WHERE Type = 'Home'", conn)
  Dim rdr As RaiserEdgeNXTDataReader = 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

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