TIB_Dataset Object
Properties Methods Events

Unit
IB_Components

Declaration
TIB_Dataset = class(TIB_Statement)

Description
This class serves as the base for the TIB_Cursor and TIB_Query components.

It has been designed primarily for SQL statements that will be used to select multiple records. It can also handle all other statements as well.

The IB_Cursor component is a single-buffer unidirectional dataset ideal for scanning through records one at a time in sqquential order. It uses very little memory and is the fastest way to do a full table scan.

The IB_Query component is a buffered scrollable dataset that is ideal for browsing by users and providing a randomly scrollable dataset.

The IB_Cursor component will return data for any valid SELECT statement in an accurate manner. The RecordCount property may not work for some select statements either. It uses a simple parsing substitution in order to put together a separate SELECT COUNT( * ) statement to get the record counts. You can provide a custom event handler to calculate the RecordCount for a dataset like this. In some cases with the buffered dataset it will do a fetchall and then report the number of record in the buffer.

Introduced Public Properties
AutoFetchAll  When a dataset is opened this property determins if all rows should be fetched or not.
AutoFetchFirst  When a dataset is opened this property determins if the first row should be selected or not.
AutoPostDelete  Determins if a call to the Delete method will also be posted immediatly.
Bof  Returns if the dataset is at the beginning of the file.
Bookmark  This only works for the IB_Query component for now.
BufferBof  This only works well for the IB_Query component for now.
BufferBookmark  This only works for the IB_Query component for now.
BufferEof  This only works well for the IB_Query component for now.
BufferFields  This only works well for the IB_Query component for now.
BufferHasBof  This only works well for the IB_Query component for now.
BufferHasEof  This only works well for the IB_Query component for now.
BufferRowCount  This only works well for the IB_Query component for now.
BufferRowNum  This only works well for the IB_Query component for now.
CallbackCaption  This message is used by the default callback dialog that appears when records are being fetched in from the server in bulk quantity.
CallbackFetchingLevel  Indicates if callbacks have been requested for fetching activity.
CallbackFreezeLevel  Returns whether or not callbacks have been frozen.
CallbackInc  Determines the increment at which an OnCallback event is triggered.
CallbackInitInt  When using default callback processing this determins the amount of initial delay before any visible action is taken to inform the user that a query is being processed.
CallbackInitTick  Stores a reference to the GetTickCount when the query was started.
CallbackRefreshInt  When using default callback processing this determins the amount of incremental delay before any visible action is taken to update the user during the processing of a query.
CallbackRefreshTick  Provides a built-in storage for maintaining a time based increment.
CancelledState  Property that tells which state the dataset was in when before it was cancelled.
CanDelete  Returns if the dataset can delete the current row.
CanEdit  Returns if the dataset can modify the current row.
CanInsert  Returns if the dataset can insert a new row.
CanModify  Returns if the dataset can modify the current row or insert a new one.
CanScroll  Returns if the dataset can Scroll to a different row.
CanSearch  Returns if the dataset can go into search mode to select a subset of rows.
CheckRequired  Determine whether or not required fieds are checked just prior to posting an edit or insert.
ClosePending  Returns if the dataset is in the process of being closed.
ColorScheme  IBO native data aware controls are designed to use a color scheme when a dataset is in dssSearch, dssEdit, dssInsert states.
CommitAction  WIP
ConfirmDeletePrompt  Message prompt used to confirm if a record should be deleted or not.
ControlsDisabledLevel  This property tells if the state and data change events are being cached and not propagated to the datasource and datalinks.
CursorBof  Bof status of the underlying cursor.
CursorEof  Eof status of the underlying cursor.
CursorName  Name of the cursor defined on the server for fetching records from.
CursorRowNum  RowNum of the underlying unidirectional cursor that brings records into the buffer.
DataSourceCount  Returns the number of datasource components that reference this dataset.
DataSources  Gives and indexed access to all DataSources that reference this dataset.
DefaultValues  This property allows defaults to be defined on the client.
DeleteSQL  This property is used to supply a custom SQL statement that will take care of deleting the current row of the dataset.
DetailFieldName  Gives the name of the Detail Column for the indexed reference in the MasterLinks property.
DetailRelation  Gives the name of the Detail Table for the indexed reference in the MasterLinks property.
DMLCacheFlags  This property controls how a dataset interacts with the DML cache of its transaction in order to synchronize changes between datasets automatically.
EditSQL  This property is used to supply a custom SQL statement that will take care of editing the current row of the dataset.
Eof  Returns if the dataset is at the end of the file.
Fetching  Returns if the dataset is currently processing the query by fetching rows from the server.
FetchingAborted  This property returns if the user aborted the fetching of records by calling AbortFetching or closing the dataset.
GeneratorLinks  This property makes it very easy to populate a column with a value from a generator.
GetServerDefaults  This determins if default that are declared at the server level should be queried and parsed and used when an insert is performed on the client.
HasPostRetained  After the post/retaining has been performed it may be useful to know this so that certain action can be taken.
Hints  Contains a list of hints that are used to display more user friendly messages to the user.
IB_KeyDataLink  This is a reference to the datalink used to maintain a relationship with the KeyLinks master dataset.
InsertSQL  This property works just like the TUpdateSQL.InsertSQL property.
IsCancelling  Returns if the dataset is currently in the process of cancelling changes.
IsPosting  Returns if the dataset is currently in the process of posting changes.
IsPostRetaining  This flag can be used to tell when the dataset is being posted if it is also going to be retained.
IsRowLocked  When using PessimisticLocking this property tells you if a lock has been obtained for the current row in the dataset.
JoinLinks  This property can play a very important role in th IB_Query component.
KeyChildUpdatingLevel  Used to keep track of if a child in a KeyLinks relationship is being scrolled to match the parent record.
KeyDataFreezeLevel  This property indicates if scrolling in a KeyLinks child dataset will allow the parent records keys to be modified.
KeyDataset  Reference to the KeyDataset being used.
KeyDescLinks  This property is used to determine which columns in the KeyLinks parent should be updated as the KeyLinks child is scrolled in order to maintain description columns for display purposes.
KeyFields  Reference to allow access to the columns defined in the KeyLinks property.
KeyLinks  This property plays a very important role in the IB_Query component.
KeyLinksAreDBKEY  Tells if the KeyLinks are based on a DB_KEY column or not.
KeyLinksAutoDefine  This property determins whether or not the KeyLinks should be defined automatically if none were provided by the developer.
KeyLinksAutoDefined  This flag tells if the KeyLinks property was defined by the system from querying the metadata for a primary or unique key or if they were defined by the developer.
KeyRelation  It is possible to make a dataset that is composed of a join between tables to be made insertable and deletable by indicating which relation is the one that these operations should be performed on.
KeySeeking  This property determines whether or not seeking is performed in the child dataset of a KeyLinks relationship.
KeySource  This property defines which dataset is referenced in order to complete the KeyLinks relationship.
LockSQL  This property works almost exactly like the EditSQL property except its purpose is to merely perform a dummy update to whatever record that you want locked.
MasterDataChangeLevel  Flag to indicate that the dataset is being refreshed due to the parent dataset a MasterLinks relationship having its data changed.
MasterDataset  Reference to the MasterDataset being used.
MasterFieldName  Gives the name of the Master Column for the indexed reference in the MasterLinks property.
MasterLinks  This property is used to define the column to column relationships between the child and master datasets.
MasterParamLinks  This property works just like Parameterized queries in a TQuery.
MasterRelation  Gives the name of the Master Table for the indexed reference in the MasterLinks property.
MasterSearch  This property determins whether or not a child dataset will follow its master into dssSearch state.
MasterSearchFlags  Property to take better control over the behavior of datasets when using the MasterSearch option.
MasterSearchWasActive  Flag to store wheter the dataset was active when its parent went into dssSearch mode and it followed due to having MasterSearch set to true.
MasterSource  Reference to the dataset that will serve as the master dataset in a master detail relationship.
MaxRows  Maximum number of rows to be fetched.
MaxTicks  This property will cause a query that is fetching rows to only fetch for a certain amount of time before it aborts the fetching process.
MinTicksRows  This property determines when the MaxTicks can begin checking to abort the process of fetching rows.
Modified  Returns if any modifications have been made to the current row.
NeedToPost  Returns if the dataset has changes that are pending.
OpenPending  Returns if the dataset is in the process of being Opend.
OrderingField  If an OrderingLink is currently active then this will have the TIB_Column reference to the column used to define the OrderingLink entry.
OrderingItemNo  This property determins which of the OrderingItems entries is the current sort order of the dataset.
OrderingItemNoChanging  Returns if the OrderingItemNo is in the process of changing.
OrderingItems  This property is used to define a list of valid sort criteria for a dataset.
OrderingLink  If an OrderingLink is currently active then this will have the name of the column used to define the OrderingLink entry.
OrderingLinkChanging  Returns if the OrderingLink is in the process of changing.
OrderingLinks  This property defines the relationship between columns and entries in the OrderingItems table.
OrderingParam  Paramerer used to improve performance when dealing with large datasets.
PageRows  Number of rows that a connected control has requested to be scrolled when the PAGE DOWN or PAGE UP commands are received.
ParamValueLinks  Not fully implemented yet.
PessimisticLocking  Upon going into dssEdit state you can have a dummy update automatically performed that will lock the record that just went into dssEdit state.
PostedState  Property that tells which state the dataset was in when it was last posted.
PreparedEdits  This property determins whether all updates are performed through a prepared DSQL or if a DSQL statement for only the updated columns should be constructed and immediatly executed.
PreventDeleting  Prevents the dataset from going into dssDelete state by making CanDelete return false.
PreventEditing  Prevents the dataset from going into dssEdit state by making CanEdit return false.
PreventInserting  Prevents the dataset from going into dssInsert state by making CanInsert return false.
PreventSearching  Determines if the dataset can go into dssSearch state.
ReadOnly  Returns if a dataset is readonly.
RecNo  Current record number of the output.
RefreshAction  This property defines th action that should be taken upon Refreshing a dataset.
Refreshing  Returns if a dataset is currently in the process of refreshing.
RefreshOnParamChange  This property controls whether or not the dataset should be refreshed after an input parameter has been changed or not.
RequestLive  This property is used in order to make a SELECT statement updatable and deletable.
RowNum  Returns the current row number the cursor is positioned on.
ScaningLevel  Rows are being fetched from the server in order to move the current cursor.
SearchCriteria  Temporary reference used when a call to WriteSearch() or ReadSearch() is called.
SearchedDeletes  In some cases it is necessary to have deletes performed via a searched delete instead of a positioned delete.
SearchedEdits  This property will make behind the scenes updates performed with searched updates instead of positioned updates.
SearchingLink  If a SearchingLink is currently active then this will have the name of the column used to define the SearchingLink entry.
SearchingLinkChanging  Returns if the SearchingLink is in the process of changing.
SearchingLinks  This property is used to provide incremental searching on columns that have been defined in the OrderingLinks property.
SearchingLinksActive  Returns if the SearchingLink is currently active.
SearchingParam  If a SearchingLink is currently active then this will have the TIB_Column reference to the parameter used to define the OrderingLink entry.
SearchingParamName  If a SearchingLink is currently active then this will have the name of the parameter used in the SearchingLink entry.
SQLForUpdate  Preparsed acces to the SQL statement of the FOR UPDATE portion of the statement up to the next major portion.
SQLFrom  Preparsed acces to the SQL statement of the FROM portion of the statement up to the next major portion.
SQLGroup  Preparsed acces to the SQL statement of the GROUP BY portion of the statement up to the next major portion.
SQLHaving  Preparsed acces to the SQL statement of the HAVING portion of the statement up to the next major portion.
SQLOrder  Preparsed acces to the SQL statement of the ORDER BY portion of the statement up to the next major portion.
SQLOrderChanged  Returns whether or not a search criteria or other modification was made to the ORDER BY clause during the OnPrepareSQL event cycle.
SQLOrderLinks  This property contains a list of columns that the dataset is ordered by.
SQLPlan  Preparsed acces to the SQL statement of the PLAN portion of the statement up to the next major portion.
SQLSectionChanging  Flag to indicate which portion of the SQL property is being changed.
SQLSelect  Preparsed acces to the SQL statement of the SELECT portion of the statement up to the beginning of the FROM portion.
SQLUnion  Preparsed acces to the SQL statement of the UNION portion of the statement up to the next major portion.
SQLWhere  Preparsed acces to the SQL statement of the WHERE portion of the statement up to the next major portion.
SQLWhereChanged  Returns whether or not a search criteria or other modification was made to the WHERE clause during the OnPrepareSQL event cycle.
SQLWhereHigh  During the OnPrepareSQL cycle a self contained boolean expression can be added into the WHERE clause at different priority levels.
SQLWhereItems  This property is very useful for having IBO handle the parsing of items to be added to the WHERE clause of the SELECT statement being constructed.
SQLWhereLow  During the OnPrepareSQL cycle a self contained boolean expression can be added into the WHERE clause at different priority levels.
SQLWhereMed  During the OnPrepareSQL cycle a self contained boolean expression can be added into the WHERE clause at different priority levels.
State  Returns the current state of the dataset.
Unidirectional  Returns if the dataset can scroll backwards.
UpdatesPending  This property tells if there are any cached updates wiating to be applied.
UpdateStatus  This property tells the current CachedUpdates status of the currently selected record.

Introduced Public Methods
AbortFetching   Cause the fetching process to stop and return full control of the application back to the user.
AddSQLWhereClause   Allows a self contained boolean expression to be included in the SQLWhere clause by calling this method.
Append   Move to Eof and put current record into dssInsert state or raise an exception.
AssignSQLWhere   This method is used to assign just the WHERE clause of one SQL to another dataset's SQL.
AssignSQLWithSearch   This is a very useful method that takes the SQL and search criteria of one dataset and assigns it to another dataset.
BeginCallbackFetching   Indicate that fetches should processed with a callback.
BeginCallbackFreeze   This begins a nested bracket where there will be no callbacks performed.
BeginKeyDataFreeze   This begins a nested bracket where there will be no modifications made to the key columns of a KeyLinks parent dataset when the child dataset scrolls to a new record.
BufferActive   This property tells if there are actually records in the buffer as opposed to telling if the dataset was opened and records were fetched into the buffer.
BufferFieldByName   This method will attempt to return a TIB_Column reference for the field name passed in for the Buffer Fields array.
BufferFirst   Move to the first record in the buffer.
BufferLast   Move to the last record in the buffer.
BufferMoveBy   Move to the nth record in the buffer from the current position.
BufferNext   Move to the next record in the buffer.
BufferPrior   Move to the prior record in the buffer.
Cancel   Cancel any pending changes made to the dataset or raise an exception.
CheckActive   Checks to make sure that the dataset is active.
CheckBrowseMode   This will attempt to post a record if necessary.
CheckCanScroll   This checks to see if the dataset can scroll before the record pointer is moced to a new record.
CheckPrepared   Checks to make sure that the dataset is prepared.
CheckRequiredFields   Check to make sure that all data aware controls have properly supplied data for the record.
ClearSearch   Clear out all of the currently defined search criteris.
ClearSearchingLinks   Clears out any defined SearchingLinks parameters so that all of the records are visible in the dataset.
Close   Close the dataset.
DataChange   Announce a DataChange event manually.
DefaultDMLCacheAnnounceItem   This procedure can be used in the corresponding event so that it is easy to still carry out the default behavior and augment it with additional behavior.
DefaultDMLCacheReceivedItem
DefaultProcessCallback   If you would like to maintain the default OnCallback activity and add in a bit of your own behavior then this method can be used from within your event handler to maintain the defause activity.
Delete   Delete the current record or raise an exception.
DisableControls   Increment the freeze level on whether or not state and data change events are propogated to the datasource and datalink components.
DoConfirmDelete
Edit   Put current record into dssEdit state or raise an exception.
EnableControls   Decrement the freeze level on whether or not state and data change events are propogated to the datasource and datalink components.
EndCallbackFetching   Indicate that fetches should no longer be processed with a callback.
EndCallbackFreeze   This ends a nested bracket where there will be no callbacks performed.
EndKeyDataFreeze   This ends a nested bracket where where there will be no modifications made to the key columns of a KeyLinks parent dataset when the child dataset scrolls to a new record.
FetchAll   Causes all records to be fetched.
FetchSingle   This method is used to fetch a single record only.
FindBufferField
First   Go to the first record in the dataset.
GetAlterTableSQL   Use this method to place the DDL statement to alter a table based on the current fields and constraints of the dataset into a given TStrings object.
GetBufferFieldList   This method populates a TList with the TIB_Column references for the buffer fields.
GetCreateTableSQL   Use this method to place the DDL statement to create a table based on the current fields and constraints of the dataset into a given TStrings object.
GetOrderingItemsList   This method is handly to get a quick list of the user friendly names of the OrderingItems entries.
GetOrderingSQL   Returns the columns defined in the OrderingItems list of entries.
Insert   Put current record into dssInsert state or raise an exception.
InvalidateBookmark   This method applies to the IB_Query component.
InvalidateRowNum   This method applies to the IB_Query component.
InvalidateRows   This method applies to the IB_Query component.
IsKeyLinkedTo   Returns if this DataSource is linked as a KeyLink.
IsMasterLinkedTo   Returns if this DataSource is linked as a MasterLink.
KeyFieldByName   This function gives access to the columns defined in the KeyLinks property.
Last   This positions the cursor at the end of the dataset.
MoveBy   Move the current cursor by an increment.
Next   Goes to the Next record in the Dataset or Eof.
Open   Make the dataset become active.
Post   Post any pending changes made to the dataset or raise an exception.
PostRetaining   Effectively post the current changes to the server but retain the edit state of the dataset.
Prior   Goes to the previous row in the dataset for IB_Query only.
ReadSearch   Reads search criteria and streams it from a TStrings object.
RecallLastSearch   Recall the search criteria that was last used when the dataset was opened.
RecallSearch   Recall search criteria that was set aside in a temporary buffer.
RecordCount   Returns the number of records in the current dataset with the search criteria applied.
Refresh   Close and re-open he dataset.
RefreshAll   This does a normal Refresh but it also does and InvalidateRows() as well so that there is a complete refresh of all of the buffer for the dataset.
RefreshKeys   This method will refresh just the keys of the dataset in order to pickup or drop inserted or deleted rows for the dataset.
RefreshRows   This method applied to the buffered dataset because what it does is cause all record buffers in the cache to be removed.
SaveSearch   Save the current search criteria aside in a temporary buffer.
Search   Put the dataset into dssSearch state.
SetFocus   Sets this dataset as the current focused dataset for the default session.
ShowNearest   Cause any grid attached to the dataset to make sure the current record is visible by passing in -1 or to have it show a particular RowNum pass it that value.
StateChanged   This method allows a state change event to be sent to all of the datalink components.
UpdateData   Announce a UpdateData event manually.
ValidateRows   This method applies to the IB_Query component.
WriteSearch   Takes the current search criteria and streams it into a TStrings object.

Introduced Public Events
AfterCancel  Dataset event.
AfterClose  Dataset event.
AfterDelete  Dataset event.
AfterEdit  Dataset event.
AfterFetchEof  After Eof is fetched this event is called for the IB_Cursor component.
AfterFetchRow  After each row is fetched this event is called for the IB_Cursor component.
AfterInsert  Dataset event.
AfterOpen  Dataset event.
AfterPost  Dataset event.
AfterScroll  Dataset event.
AfterSearch  If the Search method is called this event will fire just after the dataset has gone into dssSearch state.
BeforeCancel  Dataset event.
BeforeClose  Dataset event.
BeforeDelete  Dataset event.
BeforeEdit  Dataset event.
BeforeInsert  Dataset event.
BeforeOpen  Dataset event.
BeforePost  Dataset event.
BeforeScroll  Dataset event.
BeforeSearch  If the Search method is called this event will fire just prior to the dataset actually going into dssSearch state.
OnCallback  This event serves as a hook to enable customized behavior while a query is running.
OnConfirmDelete  This event provides a means to display a custom dialog to prompt the user before they delete a record.
OnCustomDelete  This event enables a custom handler to be supplied in order to perform the delete on the server.
OnCustomEdit  This event enables a custom handler to be supplied in order to perform the update on the server.
OnCustomInsert  This event enables a custom handler to be supplied in order to perform the insert on the server.
OnCustomLockRow  This event allows a custom action to be performed in order to consider the record about to go into dssEdit state as locked.
OnDeleteError  VCL Compatibility.
OnDMLCacheAnnounceItem  This event is used to customize how the dataset will announce that changes have occurred to other datasets.
OnDMLCacheReceivedItem  This event is used to customize how the dataset will respond to the announcement from another dataset that changes have occurred.
OnEditError  VCL Compatibility.
OnGetCanModify  This event is used to prevent modifications by custom logic.
OnGetCanScroll  This event is used to prevent the cursor from being scrolled.
OnGetRecordCount  This event allows for a custom method to determine the number of rows in a dataset.
OnNewRecord  This event is called when a record is inserted into a dataset.
OnOrderingChanged  This event is called when the OrderingItemNo information of a dataset is changed.
OnPostError  VCL Compatibility.