class Query
Topic group Related topics Example
A representation of an SQL statement that describes a query and contains the resulting rowset.
Syntax
[<oRef> =] new Query( )
<oRef>
A variable or property in which to store a reference to the newly created Query object.
Properties
The following tables list the properties, events, and methods of the Query class. For details on each property, click on the property below:
Property |
Default |
Description |
false |
Whether the query is open and active or closed | |
QUERY |
Identifies the object as an instance of the Query class | |
(QUERY) |
Identifies the object as an instance of a custom class. When no custom class exists, defaults to baseClassName | |
false |
Whether the WHERE clause of the SQL SELECT statement will be enforced when attempting to update Standard tables | |
null |
Database to which the query is assigned | |
|
BDE statement handle | |
null |
Query that acts as master query and provides parameter values | |
Empty string |
The name of custom object | |
AssocArray |
Associative array that contains parameter names and values for the SQL statement | |
null |
Container, form or report | |
true |
Whether you want a writable rowset | |
Object |
Reference to the rowset object containing the results of the query | |
null |
Session to which the query is assigned | |
Empty string |
SQL statement that describes the query | |
false |
Whether to assume forward-only navigation to increase performance on SQL-based servers | |
AllFields |
Enum to determine which fields to use in constructing the WHERE clause of an SQL UPDATE statement, used for posting changes to SQL-based servers | |
false |
Controls whether or not a query, with a simple sql select statement (of the form "select * from <table>), is sent directly to the DBMS for execution or is setup to behave like a local database table. | |
Event |
Parameters |
Description |
|
Before the object is released. | |
|
When attempting to close query; return value allows or disallows closure | |
|
When attempting to open query; return value allows or disallows opening | |
|
After query closes | |
|
After query first opens
| |
Method |
Parameters |
Description |
|
Executes query (called implicitly when active property is set to true) | |
|
Prepares SQL statement | |
|
Rebinds and executes SQL statement | |
|
Cleans up when query is deactivated (called implicitly when active property is set to false) |
Description
The Query object is where you specify which fields you want from which rows in which tables and the order in which you want to see them, through an SQL SELECT statement stored in the query’s sql property. The results are accessed through the query’s rowset property. To use a stored procedure that results in a rowset, use a StoredProc object instead.
Whenever you create a query object, it is initially assigned to the default database in the default session. If you want to use Standard tables in the default session you don’t have to do anything with that query’s database or session properties. If you want to use a Standard table in another session, assign that session to the query’s session property, which causes that session’s default database to be assigned to that query.
For non-Standard tables, you will need to set up a BDE alias for the database if you haven’t done so already. After creating a new Database object, you may assign it to another session if desired; otherwise it is assigned to the default session. Once the Database object is active, you can assign it to the query’s database property. If the database is assigned to another session, you need to assign that session to the query’s session property first.
After the newly created query is assigned to the desired database, an SQL SELECT statement describing the data you want is assigned to the query’s sql property.
If the SQL statement contains parameters, the Query object’s params array is automatically populated with the corresponding elements. The value of each array element must be set before the query is activated. A Query with parameters can be used as a detail query in a master-detail relationship through the masterSource property.
Setting the Query object’s active property to true opens the query and executes the SQL statement stored in the sql property. If the SQL statement fails, for example the statement is misspelled or the named table is missing, an error is generated and the active property remains false. If the SQL statement executes but does not generate any rows, the active property is true and the endOfSet property of the query’s rowset is true. Otherwise the endOfSet property is false, and the rowset contains the resulting rows.
Setting the active property to false closes the query, writing any buffered changes.