TIB_Row Object
Properties Methods Events

Unit
IB_Components

Declaration
TIB_Row = class(TObject)

Description
This object is used to maintain the row buffer and the TIB_Columns array associated with the buffer.

It is implemented by a these properties at the TIB_Statement level:

Params - Gives access to the input parameters defined in the SQL statement. Fields - Gives access to the output fields defined in the SQL statement.

It is accessed additionally with these properties at the TIB_BDataset level:

BufferFields - A way to access data from a buffered dataset without having to move the current record pointer.

KeyFields - An exclusive TIB_Dataset property to give a TIB_Row reference so that key lookup methods can be called in order to seek a record in the dataset.

The Params property can change each time search criteria is applied so be careful not to depend on the numerical reference of a parameter's TIB_Column object.

It is possible to repeat the name of an input parameter and have them all be bound to the same parameter object as long as they are of the same type.

If a SELECT list has sub-selects in the output column lists that use input parameters InterBase parses them in a different order than expected. But, this is anticipated by IB Objects and so it correctly lines up the parameters. The BDE does not correctly associate input parameters in this case.

Much of the interface for this object is accessed from the TIB_Statement class itself via methods like FieldByName() or ParamByName().

Introduced Public Properties
ArrayCount  Number of columns that are array columns.
ArrayList  List of array columns.
BlobCount  Number of columns that are blob columns.
BlobList  List of blob columns.
BufferLength  This gives the number of bytes for the row buffer.
CalcCount  Number of columns that are derived from the CalculatedFields property.
CalcList  List of calculated columns.
ColumnCount  This property returns the number of columns that are a part of this row.
Columns  This gives an array reference to the TIB_Column objects.
CursorName 
IsBufferFields  This is a system maintained property.
IsKeyFields  This is a system maintained property.
IsKeyFieldsWhole  System property.
IsRowNumChanged  When a RefreshBuffer() call is made it has a parameter called NewRecord.
OldBuffer  Pointer reference to the OldBuffer's memory.
OldRowData  String buffer containing the data for the original row before modified.
OldValues  This property gives the old variant result of the given column passed in.
ParamValues  This property is for VCL emulation.
PBlobHead  Reference to the head of the Blob Cache for the column.
PSQLDA  This is a pointer to the IB API XSQLDA structure used to define the row buffer.
RelationCount  Number of relations involved in the row.
RelationNames  Access to the names of the relations involved in the row buffer.
RowBuffer  Pointer reference to the RowBuffer's memory.
RowData  String buffer containing the data for the row.
RowNode  Reference to the node in the buffer if used in a buffered dataset.
RowState  Current state of the row buffer.
RowType  Type of the row buffer whether it is input or output.
Statement  Reference to the statement that this Row belongs to.
UpdatedColumnCount  System property.
UpdatedWholeRow  System property.
Values  This property gives a variant result of the given column passed in.

Introduced Public Methods
BeginUpdate   This method causes the data change notifications caused by altering the values of the associated TIB_Column objects for the row to be delayed until all of the intended processing to the data of the buffer is complete.
ByName   Function that returns a column object for the AFieldName specified.
BySQLNo   Function that returns a column object for the ASQLNo specified.
CalculateFields   Method to cause the calculated field to be recalculated.
CancelBuffers   Throws away any changes made to the buffers and puts back what was previously there for an update and clears them out for an insert.
CleanBuffers   This method makes those columns that are not nullable to be not null.
ClearBuffers   Sets the buffers to null and blank.
Create
Destroy
EndUpdate   This method causes the data change notifications that were delayed until all the intended processing to the data of the buffer was complete to be dispatched as necessary.
GetBlobNode   This is used to get the node that stores the extended blob information and data.
GetByName   Quiet way to get a reference to a column object.
GetBySQLNo   Quiet way to get a reference to a column object.
GetColumnList
GetColumnOldValue
GetColumnValue
ParamByName   Function that returns a column object for the AFieldName specified.
RefreshBuffers   This method is called after each fetch.
SetColumnValue
SetDuplicateBufferPointers   This method makes the duplicate column buffer pointers match after there has been an alteration of the SQLData pointer.
UpdateBufferPointers   This method binds the column's sqldata pointer properly within the record buffer.

Introduced Public Events
AfterModify  This event is fired just after a change was applied to the row buffer.
BeforeModify  This event is triggered before a change is about to be applied to the row buffer.
OnRowStateChanged  When the status of this row buffer is changed this event is triggered.