> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IDataSet

> IDataSet object in FlexiCapture scripts: create, query, modify, and delete data set records with methods like AddRecord, GetRecords, and ModifyRecord.

## What it does

Represents a data set.

## Methods

<table width="100%"><thead><tr><th style={{textAlign: 'left'}}><p><strong>Definition</strong></p></th><th style={{textAlign: 'left'}}><p><strong>Description</strong></p></th></tr></thead><tbody><tr><td><p>AddRecord ( dataSetRecord : <a href="/flexi-capture/appendix/scripts/idatasetrecord">IDataSetRecord</a> )</p></td><td><p>Adds the record to the data set.</p></td></tr><tr><td><p>CreateQuery () : <a href="/flexi-capture/appendix/scripts/idatasetquery">IDataSetQuery</a></p></td><td><p>Creates a data set query object.</p></td></tr><tr><td><p>CreateRecord () : <a href="/flexi-capture/appendix/scripts/idatasetrecord">IDataSetRecord</a></p></td><td><p>Creates a record that can be added to the data set later.</p></td></tr><tr><td><p>DeleteRecord ( dataSetRecord : <a href="/flexi-capture/appendix/scripts/idatasetrecord">IDataSetRecord</a> )</p></td><td><details><summary>Sample</summary><p>If the ID is used as the primary key in the data set, and its value is set to "MyTestid":</p><pre><code>IDataSet dataSet = Context.DataSet( "BusinessUnits" );
IDataSetRecord rec = dataSet.CreateRecord();
rec.AddValue( "Id", "MyTestid" );
dataSet.DeleteRecord( rec );</code></pre></details></td></tr><tr><td><p>GetRecords (<a href="/flexi-capture/appendix/scripts/idatasetquery">IDataSetQuery</a> : query) : <a href="/flexi-capture/appendix/scripts/irecordset">IRecordset</a></p></td><td><p>Gets records that satisfy query parameters from the data set.</p></td></tr><tr><td><p>GetRecordsCount (<a href="/flexi-capture/appendix/scripts/idatasetquery">IDataSetQuery</a> : query) : int</p></td><td><p>Gets the number of records from the data set that satisfy query parameters.</p></td></tr><tr><td><p>ModifyRecord ( dataSetRecord : <a href="/flexi-capture/appendix/scripts/idatasetrecord">IDataSetRecord</a> )</p></td><td><p>Edits a data set record in a column with the specified primary key <a href="#primarykeyrequired">\*\*</a>.</p><details><summary>Sample</summary><p>If the ID is used as the primary key in the data set, and its value is set to "MyTestid":</p><pre><code>IDataSet dataSet = Context.DataSet( "BusinessUnits" );
IDataSetRecord rec = dataSet.CreateRecord();
rec.AddValue( "Id", "MyTestid" );
rec.AddValue( "Name", "MyName");
rec.AddValue( "CountryCode", "DE" );
dataSet.ModifyRecord( rec );</code></pre></details></td></tr></tbody></table>

<a id="primarykeyrequired" />\*\* The ModifyRecord and DeleteRecord methods only work with data sets that have a Primary Key column.
