Reading Data Records in an ADO.NET DataSet Example

Applies to: SharePoint Workspace 2010 | Visual Studio 2008

This C# code fragment demonstrates how to read the data records after converting a Forms2RecordDataSet to an ADO .NET DataSet. This code fragment accesses the fields of a Customizable Discussion tool, but the code can be modified to work with any Forms tool.

// First create the GrooveForms2 service, verify that the
// tool was created with a Customizable Discussion template,
// query records, and convert to ADO .NET DataSet.

// Read the forms to get table names
GrooveForms2.Form[] forms = forms2Svc.ReadForms();
for (int i = 0; i < forms.Length; i++)
{
    // Get the table for Form (if it exists)
    DataTable table = adoDs.Tables[forms[i].FormsRecordDataSet_ID];
    if (table != null)
    {
        // Read rows of table 
        for (int j = 0; j < table.Rows.Count; j++)
        {
            DataRow row = table.Rows[j];

            // Get the values of the fields
            string subject =
                (string)row["Subject"];
            string body =
                (string)row["Body"];

            // Get any attachments now
            // See example for accessing attachments
        }
    }
}

There is a convenient shortcut to find the tables in a DataSet that contain data records without knowing the names of the table. To do this, enumerate through the tables in the DataSet. If a table does not have a value for ParentRelations, then it is a table containing data records. The other tables created in the DataSet all have a value for ParentRelations. These tables are created to contain the File Attachment metadata and the File Attachment contents and to relate the data records to the File Attachments.

See Also

Concepts

Using ADO.NET DataSets to Access Forms2RecordDataSet Data

Accessing Forms Tool Records