TTdbDataSet

Index
TurboDB Components
    TTdbDataSet
    TTdbTable
    TTdbBatchMove
Turbo Database
    Overview
    Colum Data Types
    Queries
    Operators and Functions
    Working with Indexes
    Automatic Linking
    Working with Link and Relation Fields
    Shared Tables
    Table Locks
    Data Security
TurboDB Tools
    TurboDB Workbench
    TurboDB Data Exchange
    dataWeb Builder
    Visua Data Publisher
Frequently Asked Questions

[prev][next]

Derived from TDataSet TTdbDataSet implements all methods necessary to access TurboDB tables. You will never instantiate a TTdbDataSet object directly but rather use one of its descendants TTdbTable or TTdbQuery (the latter is still in development).

Properties

TTdbDataset.Filter
Contains an expression used for filtering the records of the data set.
property Filter: string;
TurboDB supports two kinds of filters, conditional filters and keyword filters. Conditional filters work with a logical condition and show all records satisfying this condition. Conditions are described in "Search-Conditions". Set FilterType to tftCondition to use a conditional filter. Keyword filters need a full-text index to work. If a full-text index is available, keyword filters show all records containing a given set of keywords. In this case the filter is just a comma-separated list of keywords. Set FilterType to tftKeywords to use a keyword filter.

TTdbDataSet.Filtered
Specifies whether or not filtering is active for a dataset.
property Filtered: Boolean;
Check Filtered to determine whether or not dataset filtering is in effect. If Filtered is True, then filtering is active. To apply filter conditions specified in the Filter property or the OnFilterRecord event handler, set Filtered to True. Note: With TurboDB filters are static. Once that a filter has been set, the filter range remains until you remove or change the filter.

TTdbDataSet.FilterType
Indicates, whether conditional or keyword filter is used.
property FilterType: Boolean;
Set FilterType to choose the kind of filter you want to apply. The different types of filters are described with TTdbDataSet.Filter.

TTdbDataSet.FullTextTable
Indicates the TurboDB table used as an index for full-text search.
property FullTextTable: TTdbTable;
Set FullTextTable to a table that contains the keywords for a keyword filter. FullTextTable must be linked to the table you are searching in by a relation field in the base table. In order to filter for keywords, FilterType must be set to tftKeywords and Filter must contain a valid keyword search expression.

TTdbDataset.ReadOnly
Indicates, if clients can modify the data set.
property ReadOnly: Boolean;
Set ReadOnly to True, if you want to open the data set in read-only mode. Calling a method that would modify the data set will then raise an exception.

Methods

TTdbDataSet.Locate
Searches a specified record and makes that record the active record.
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
Searches for a record in the dataset, where the fields identified by the comma-delimited string KeyFields have the values specified by the Variant or Variant array KeyValues. Options indicates whether the search is case insensitive and whether partial matches are supported. Locate returns True if a record is found that matches the specified criteria and the cursor repositioned to that record.

TTdbDataSet.Lookup
Retrieves field values from a record that matches specified search values.
function Lookup(const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant;
Call Lookup to retrieve values for specified fields from a record that matches search criteria. KeyFields is a string containing a semicolon-delimited list of field names on which to search. KeyValues is a variant array containing the values to match in the key fields. To specify multiple search values, pass KeyValues as a variant array as an argument, or construct a variant array on the fly using the VarArrayOf routine. ResultFields is a string containing a semicolon-delimited list of field names whose values should be returned from the matching record. Lookup returns a variant array containing the values from the fields specified in ResultFields. If the specified record could not be found, the variant is Null. If ResultFields contains only one item, the result value is simple (non-array) variant.

Events

TTdbDataset.OnResolveLink
Occurs when a link field has been changed to a value that cannot been resolved.
TResolveLinkEvent = procedure(Sender: TObject; FieldNo: Integer; LinkInfo: string; var RecordId: Integer; var Cancel: Boolean);
property OnResolveLink: TResolveLinkEvent;

Write an OnResolveLink event handler to provide a custom procedure to find the record of the master table to link to. The handler is expected to set RecordId to the record id of the record in the master table that should be linked to the active record in the detail table. It can also set Cancel to True to prevent any linking from taking place.

[prev][next]

Last updated on 11/19/2000. Copyright (c) 2000 by dataWeb GmbH, Aicha, Germany. Turbo Database and TurboDB Components are products by dataWeb - the manufacturers of RAD tools for the Web. Please send your hints, questions and comments to Peter Pohmann.