SQLSelect.GetLookupTable Method (Typed) | |
Retrieve a two-column array of values from two fields in the server.
Namespace:
XSharp.VO.SDK
Assembly:
XSharp.VOSQLClasses (in XSharp.VOSQLClasses.dll) Version: 2.21
Syntax VIRTUAL METHOD GetLookupTable(
nMaxRows,
uField1,
uField2,
uSearch
) AS ARRAY CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public override Array GetLookupTable(
Usual nMaxRows = default,
Usual uField1 = default,
Usual uField2 = default,
Usual uSearch = default
)
Request Example
View SourceParameters
- nMaxRows (Optional)
- Type: Usual
The maximum number of rows that should be retrieved. If omitted, the default is 100.
The name, number, or symbol of the first field to be retrieved. If omitted, the first field is retrieved.
The name, number, or symbol of the second field to be retrieved. If omitted, the second field is retrieved.
- uField1 (Optional)
- Type: Usual
- uField2 (Optional)
- Type: Usual
- uSearch (Optional)
- Type: Usual
Return Value
Type:
Array
The method returns a two-column array of values found for the specified fields, moving sequentially until the specified maximum number of rows or until end of file.
Note that the method does not reposition to the beginning before starting to fill the array. Either provide a start value, or explicitly position the server before using the method. (This allows incremental reading, building up an array in pieces.)
Remarks
Sends a NotifyRecordChange message afterwards, and leaves the server positioned at the last record used or at end of file (last file record). One use of this method is to populate translation lists in user interfacing. The resulting array can be used in ATranslate().
Examples
The following builds a lookup table, for example to translate product codes into product names and vice versa, beginning at the indicated product number:
1oSQLSelect := SQLSelect{"SELECT * FROM products WHERE ProdNo > 100"}
2aProducts := SQLSelect:GetLookupTable(500,#ProdNo, #ProdName)
3oSQLSelect:Close()
See Also