October 2016 (FWH 16.08 Revised Build)
======================================
* XBrowse: bPastEof is now evaluated with browse
object as paramter
* FWMARIADB:
RowSet object
-------------
1) New: Pagination
When a RowSet is opened with syntax
RowSet( table/sql, nRows ), in addition to the existing
methods oRs:ReadNext( [nMoreRows] ), which expand
the rowset with new rows, now it is alsp possible to
switch pages. PageSize defaults to the number or rows
specified while opening the rowset, which can be changed
later in the program.
DATAS nPageStep, nCurrentPage, nMaxPages
METHOS FirstPage(), PrevPage(), NextPage(), LastPage(),
GoToPage( nPage )
These datas and methods are self-explantory.
It is also possible to alternate the usage of paging
and ReadNext() methods.
2) New DATA lAutoAppend INIT .f.
If set to true, XBrowse created after setting the value
to true appends blank record when down arrow is pressed
on the last row or when last column is editied in fastedit
mode. This inline append facility can be used in xbrowses
with fastedit. There is no extra code required for this
except setting the flag to .T. before creation of xbrowse.
3) New METHOD EditBaseRecord( [cFieldList], [lNew], [bEdit] )
It is possible that only some fields are read into the RowSet
and for editing alone, we may need to edit all the fields
(or more fields than included in the rowset). Normally that
would require opening another rowset for that record with
all fields and editing that rowset. Even in that case,
current rowset is not updated with these changes. A requery
is required which makes the process slow.
In such cases, EditBaseRecord() can be used. Any changes made
with this method are synced with the current rowset
automatically.
Example:
oRs := oCn:RowSet( "SELECT CONCAT_WS( ', ', FIRST, LAST ) AS NAME," + ; "CITY,SALARY FROM CUSTOMER" )
oRs:EditBaseRecord() // can edit all fields of customer table
and the changes are automatically
reflected in the current rowset.
Connection Object
----------------
1) New METHOD Explan( cSql, [lShow = .t.] ) --> lValidSQL
By default, this method displays the execution plan of the
sql statement and returns if the sql statement is valid or
not.
This is useful to study the possibility of further optimizing
execution of sql statement as well as determining the validity
of sql statement without executing.
2) New METHOD IsBinaryField( cTable, cField ) --> lIsBinary
↧