Table Head (thead) |
---|
Table Row (tr) |
---|
| Table Head (th) |
---|
| Method Details |
|
|
Table Body (tbody) |
---|
id | acquireLock-JSFoundSet_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
acquireLock |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(foundset, recordIndex) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Request lock(s) for a foundset, can be a normal or related foundset. The record_index can be -1 to lock all rows, 0 to lock the current row, or a specific row of > 0 Optionally name the lock(s) so that it can be referenced it in releaseAllLocks() returns true if the lock could be acquired. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to get the lock for {Number} recordIndex - The record index which should be locked. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the lock could be acquired. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //locks the complete foundset
databaseManager.acquireLock(foundset,-1);
//locks the current row
databaseManager.acquireLock(foundset,0);
//locks all related orders for the current Customer
var success = databaseManager.acquireLock(Cust_to_Orders,-1);
if(!success)
{
plugins.dialogs.showWarningDialog('Alert','Failed to get a lock','OK');
} |
|
|
|
|
Table Body (tbody) |
---|
id | acquireLock-JSFoundSet_Number_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
acquireLock |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(foundset, recordIndex, lockName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Request lock(s) for a foundset, can be a normal or related foundset. The record_index can be -1 to lock all rows, 0 to lock the current row, or a specific row of > 0 Optionally name the lock(s) so that it can be referenced it in releaseAllLocks() returns true if the lock could be acquired. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to get the lock for {Number} recordIndex - The record index which should be locked. {String} lockName - The name of the lock. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the lock could be acquired. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //locks the complete foundset
databaseManager.acquireLock(foundset,-1);
//locks the current row
databaseManager.acquireLock(foundset,0);
//locks all related orders for the current Customer
var success = databaseManager.acquireLock(Cust_to_Orders,-1);
if(!success)
{
plugins.dialogs.showWarningDialog('Alert','Failed to get a lock','OK');
} |
|
|
|
|
Table Body (tbody) |
---|
id | addTableFilterParam-String_String_String_Object |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
addTableFilterParam |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(datasource, dataprovider, operator, value) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Adds a filter to all the foundsets based on a table. Note: if null is provided as the tablename the filter will be applied on all tables with the dataprovider name. A dataprovider can have multiple filters defined, they will all be applied. returns true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} datasource - The datasource {String} dataprovider - A specified dataprovider column name. {String} operator - One of "=, <, >, >=, <=, !=, LIKE, or IN" optionally augmented with modifiers "#" (ignore case) or "^||" (or-is-null). {Object} value - The specified filter value. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // Best way to call this in a global solution startup method, but filters may be added/removed at any time.
// Note that multiple filters can be added to the same dataprovider, they will all be applied.
// filter on messages table where messagesid>10, the filter has a name so it can be removed using databaseManager.removeTableFilterParam()
var success = databaseManager.addTableFilterParam('admin', 'messages', 'messagesid', '>', 10, 'higNumberedMessagesRule')
// all tables that have the companyid column should be filtered
var success = databaseManager.addTableFilterParam('crm', null, 'companyidid', '=', currentcompanyid)
// some filters with in-conditions
var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', 'in', [120, 144, 200])
var success = databaseManager.addTableFilterParam('crm', 'orders', 'countrycode', 'in', 'select country code from countries where region = "Europe"')
// you can use modifiers in the operator as well, filter on companies where companyname is null or equals-ignore-case 'servoy'
var success = databaseManager.addTableFilterParam('crm', 'companies', 'companyname', '#^||=', 'servoy')
// the value may be null, this will result in 'column is null' sql condition.
var success = databaseManager.addTableFilterParam('crm', 'companies', 'verified', '=', null)
//if you want to add a filter for a column (created by you) in the i18n table
databaseManager.addTableFilterParam('database', 'your_i18n_table', 'message_variant', 'in', [1, 2]) |
|
|
|
|
Table Body (tbody) |
---|
id | addTableFilterParam-String_String_String_Object_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
addTableFilterParam |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(datasource, dataprovider, operator, value, filterName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Adds a filter to all the foundsets based on a table. Note: if null is provided as the tablename the filter will be applied on all tables with the dataprovider name. A dataprovider can have multiple filters defined, they will all be applied. returns true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} datasource - The datasource {String} dataprovider - A specified dataprovider column name. {String} operator - One of "=, <, >, >=, <=, !=, LIKE, or IN" optionally augmented with modifiers "#" (ignore case) or "^||" (or-is-null). {Object} value - The specified filter value. {String} filterName - The specified name of the database table filter. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // Best way to call this in a global solution startup method, but filters may be added/removed at any time.
// Note that multiple filters can be added to the same dataprovider, they will all be applied.
// filter on messages table where messagesid>10, the filter has a name so it can be removed using databaseManager.removeTableFilterParam()
var success = databaseManager.addTableFilterParam('admin', 'messages', 'messagesid', '>', 10, 'higNumberedMessagesRule')
// all tables that have the companyid column should be filtered
var success = databaseManager.addTableFilterParam('crm', null, 'companyidid', '=', currentcompanyid)
// some filters with in-conditions
var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', 'in', [120, 144, 200])
var success = databaseManager.addTableFilterParam('crm', 'orders', 'countrycode', 'in', 'select country code from countries where region = "Europe"')
// you can use modifiers in the operator as well, filter on companies where companyname is null or equals-ignore-case 'servoy'
var success = databaseManager.addTableFilterParam('crm', 'companies', 'companyname', '#^||=', 'servoy')
// the value may be null, this will result in 'column is null' sql condition.
var success = databaseManager.addTableFilterParam('crm', 'companies', 'verified', '=', null)
//if you want to add a filter for a column (created by you) in the i18n table
databaseManager.addTableFilterParam('database', 'your_i18n_table', 'message_variant', 'in', [1, 2]) |
|
|
|
|
Table Body (tbody) |
---|
id | addTableFilterParam-String_String_String_String_Object |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
addTableFilterParam |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(serverName, tableName, dataprovider, operator, value) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Adds a filter to all the foundsets based on a table. Note: if null is provided as the tablename the filter will be applied on all tables with the dataprovider name. A dataprovider can have multiple filters defined, they will all be applied. returns true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The name of the database server connection for the specified table name. {String} tableName - The name of the specified table. {String} dataprovider - A specified dataprovider column name. {String} operator - One of "=, <, >, >=, <=, !=, LIKE, or IN" optionally augmented with modifiers "#" (ignore case) or "^||" (or-is-null). {Object} value - The specified filter value. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // Best way to call this in a global solution startup method, but filters may be added/removed at any time.
// Note that multiple filters can be added to the same dataprovider, they will all be applied.
// filter on messages table where messagesid>10, the filter has a name so it can be removed using databaseManager.removeTableFilterParam()
var success = databaseManager.addTableFilterParam('admin', 'messages', 'messagesid', '>', 10, 'higNumberedMessagesRule')
// all tables that have the companyid column should be filtered
var success = databaseManager.addTableFilterParam('crm', null, 'companyidid', '=', currentcompanyid)
// some filters with in-conditions
var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', 'in', [120, 144, 200])
var success = databaseManager.addTableFilterParam('crm', 'orders', 'countrycode', 'in', 'select country code from countries where region = "Europe"')
// you can use modifiers in the operator as well, filter on companies where companyname is null or equals-ignore-case 'servoy'
var success = databaseManager.addTableFilterParam('crm', 'companies', 'companyname', '#^||=', 'servoy')
// the value may be null, this will result in 'column is null' sql condition.
var success = databaseManager.addTableFilterParam('crm', 'companies', 'verified', '=', null)
//if you want to add a filter for a column (created by you) in the i18n table
databaseManager.addTableFilterParam('database', 'your_i18n_table', 'message_variant', 'in', [1, 2]) |
|
|
|
|
Table Body (tbody) |
---|
id | addTableFilterParam-String_String_String_String_Object_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
addTableFilterParam |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(serverName, tableName, dataprovider, operator, value, filterName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Adds a filter to all the foundsets based on a table. Note: if null is provided as the tablename the filter will be applied on all tables with the dataprovider name. A dataprovider can have multiple filters defined, they will all be applied. returns true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The name of the database server connection for the specified table name. {String} tableName - The name of the specified table. {String} dataprovider - A specified dataprovider column name. {String} operator - One of "=, <, >, >=, <=, !=, LIKE, or IN" optionally augmented with modifiers "#" (ignore case) or "^||" (or-is-null). {Object} value - The specified filter value. {String} filterName - The specified name of the database table filter. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the tablefilter could be applied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // Best way to call this in a global solution startup method, but filters may be added/removed at any time.
// Note that multiple filters can be added to the same dataprovider, they will all be applied.
// filter on messages table where messagesid>10, the filter has a name so it can be removed using databaseManager.removeTableFilterParam()
var success = databaseManager.addTableFilterParam('admin', 'messages', 'messagesid', '>', 10, 'higNumberedMessagesRule')
// all tables that have the companyid column should be filtered
var success = databaseManager.addTableFilterParam('crm', null, 'companyidid', '=', currentcompanyid)
// some filters with in-conditions
var success = databaseManager.addTableFilterParam('crm', 'products', 'productcode', 'in', [120, 144, 200])
var success = databaseManager.addTableFilterParam('crm', 'orders', 'countrycode', 'in', 'select country code from countries where region = "Europe"')
// you can use modifiers in the operator as well, filter on companies where companyname is null or equals-ignore-case 'servoy'
var success = databaseManager.addTableFilterParam('crm', 'companies', 'companyname', '#^||=', 'servoy')
// the value may be null, this will result in 'column is null' sql condition.
var success = databaseManager.addTableFilterParam('crm', 'companies', 'verified', '=', null)
//if you want to add a filter for a column (created by you) in the i18n table
databaseManager.addTableFilterParam('database', 'your_i18n_table', 'message_variant', 'in', [1, 2]) |
|
|
|
|
Table Body (tbody) |
---|
id | addTrackingInfo-String_Object |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
addTrackingInfo |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Add tracking info used in the log table. When tracking is enabled and a new row is inserted in the log table, if it has a column named 'columnName', its value will be set with 'value' |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} columnName - The name of the column in the log table, used for tracking info {Object} value - The value to be set when inserting a new row in the log table, for the 'columnName' column |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.addTrackingInfo('log_column_name', 'trackingInfo') |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
commitTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if a transaction is committed; rollback if commit fails. Saves all edited records and commits the data. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - if the transaction could be committed. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
id | commitTransaction-Boolean |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
commitTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if a transaction is committed; rollback if commit fails. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Boolean} saveFirst - save edited records to the database first (default true) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - if the transaction could be committed. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
id | commitTransaction-Boolean_Boolean |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
commitTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(saveFirst, revertSavedRecords) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if a transaction is committed; rollback if commit fails. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Boolean} saveFirst - save edited records to the database first (default true) {Boolean} revertSavedRecords - if a commit fails and a rollback is done, the when given false the records are not reverted to the database state (and are in edited records again) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - if the transaction could be committed. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
id | convertFoundSet-JSFoundSet_JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertFoundSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Creates a foundset that combines all the records of the specified one-to-many relation seen from the given parent/primary foundset. The created foundset will not contain records that have not been saved in the database, because the records in the foundset will be the result of a select query to the database. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to convert. {JSFoundSet} related - can be a one-to-many relation object or the name of a one-to-many relation |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // Convert in the order form a orders foundset into a orderdetails foundset,
// that has all the orderdetails from all the orders in the foundset.
var convertedFoundSet = databaseManager.convertFoundSet(foundset,order_to_orderdetails);
// or var convertedFoundSet = databaseManager.convertFoundSet(foundset,"order_to_orderdetails");
forms.orderdetails.controller.showRecords(convertedFoundSet); |
|
|
|
|
Table Body (tbody) |
---|
id | convertFoundSet-JSFoundSet_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertFoundSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Creates a foundset that combines all the records of the specified one-to-many relation seen from the given parent/primary foundset. The created foundset will not contain records that have not been saved in the database, because the records in the foundset will be the result of a select query to the database. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to convert. {String} related - the name of a one-to-many relation |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // Convert in the order form a orders foundset into a orderdetails foundset,
// that has all the orderdetails from all the orders in the foundset.
var convertedFoundSet = databaseManager.convertFoundSet(foundset,order_to_orderdetails);
// or var convertedFoundSet = databaseManager.convertFoundSet(foundset,"order_to_orderdetails");
forms.orderdetails.controller.showRecords(convertedFoundSet); |
|
|
|
|
Table Body (tbody) |
---|
id | convertToDataSet-JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertToDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Converts the argument to a JSDataSet, possible use in controller.loadRecords(dataset). The optional array of dataprovider names is used (only) to add the specified dataprovider names as columns to the dataset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The foundset to be converted. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // converts a foundset pks to a dataset
var dataset = databaseManager.convertToDataSet(foundset);
// converts a foundset to a dataset
//var dataset = databaseManager.convertToDataSet(foundset,['product_id','product_name']);
// converts an object array to a dataset
//var dataset = databaseManager.convertToDataSet(files,['name','path']);
// converts an array to a dataset
//var dataset = databaseManager.convertToDataSet(new Array(1,2,3,4,5,6));
// converts an string list to a dataset
//var dataset = databaseManager.convertToDataSet('4,5,6'); |
|
|
|
|
Table Body (tbody) |
---|
id | convertToDataSet-JSFoundSet_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertToDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(foundset, dataproviderNames) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Converts the argument to a JSDataSet, possible use in controller.loadRecords(dataset). The optional array of dataprovider names is used (only) to add the specified dataprovider names as columns to the dataset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The foundset to be converted. {String[]} dataproviderNames - Array with column names. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // converts a foundset pks to a dataset
var dataset = databaseManager.convertToDataSet(foundset);
// converts a foundset to a dataset
//var dataset = databaseManager.convertToDataSet(foundset,['product_id','product_name']);
// converts an object array to a dataset
//var dataset = databaseManager.convertToDataSet(files,['name','path']);
// converts an array to a dataset
//var dataset = databaseManager.convertToDataSet(new Array(1,2,3,4,5,6));
// converts an string list to a dataset
//var dataset = databaseManager.convertToDataSet('4,5,6'); |
|
|
|
|
Table Body (tbody) |
---|
id | convertToDataSet-ObjectArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertToDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Converts the argument to a JSDataSet, possible use in controller.loadRecords(dataset). The optional array of dataprovider names is used (only) to add the specified dataprovider names as columns to the dataset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object[]} values - The values array. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // converts a foundset pks to a dataset
var dataset = databaseManager.convertToDataSet(foundset);
// converts a foundset to a dataset
//var dataset = databaseManager.convertToDataSet(foundset,['product_id','product_name']);
// converts an object array to a dataset
//var dataset = databaseManager.convertToDataSet(files,['name','path']);
// converts an array to a dataset
//var dataset = databaseManager.convertToDataSet(new Array(1,2,3,4,5,6));
// converts an string list to a dataset
//var dataset = databaseManager.convertToDataSet('4,5,6'); |
|
|
|
|
Table Body (tbody) |
---|
id | convertToDataSet-ObjectArray_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertToDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(values, dataproviderNames) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Converts the argument to a JSDataSet, possible use in controller.loadRecords(dataset). The optional array of dataprovider names is used (only) to add the specified dataprovider names as columns to the dataset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object[]} values - The values array. {String[]} dataproviderNames - The property names array. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // converts a foundset pks to a dataset
var dataset = databaseManager.convertToDataSet(foundset);
// converts a foundset to a dataset
//var dataset = databaseManager.convertToDataSet(foundset,['product_id','product_name']);
// converts an object array to a dataset
//var dataset = databaseManager.convertToDataSet(files,['name','path']);
// converts an array to a dataset
//var dataset = databaseManager.convertToDataSet(new Array(1,2,3,4,5,6));
// converts an string list to a dataset
//var dataset = databaseManager.convertToDataSet('4,5,6'); |
|
|
|
|
Table Body (tbody) |
---|
id | convertToDataSet-String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
convertToDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Converts the argument to a JSDataSet, possible use in controller.loadRecords(dataset). The optional array of dataprovider names is used (only) to add the specified dataprovider names as columns to the dataset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} ids - Concatenated values to be put into dataset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // converts a foundset pks to a dataset
var dataset = databaseManager.convertToDataSet(foundset);
// converts a foundset to a dataset
//var dataset = databaseManager.convertToDataSet(foundset,['product_id','product_name']);
// converts an object array to a dataset
//var dataset = databaseManager.convertToDataSet(files,['name','path']);
// converts an array to a dataset
//var dataset = databaseManager.convertToDataSet(new Array(1,2,3,4,5,6));
// converts an string list to a dataset
//var dataset = databaseManager.convertToDataSet('4,5,6'); |
|
|
|
|
Table Body (tbody) |
---|
id | copyMatchingFields-Object_JSRecord |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
copyMatchingFields |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(source, destination) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Copies all matching non empty columns (if overwrite boolean is given all columns except pk/ident, if array then all columns except pk and array names). The matching requires the properties and getter functions of the source to match those of the destination; for the getter functions, the 'get' will be removed and the remaining name will be converted to lowercase before attempting to match. Returns true if no error occurred. NOTE: This function could be used to store a copy of records in an archive table. Use the getRecord() function to get the record as an object. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} source - The source record or (java/javascript)object to be copied. {JSRecord} destination - The destination record to copy to. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if no errors happened. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| for( var i = 1 ; i <= foundset.getSize() ; i++ )
{
var srcRecord = foundset.getRecord(i);
var destRecord = otherfoundset.getRecord(i);
if (srcRecord == null || destRecord == null) break;
databaseManager.copyMatchingFields(srcRecord,destRecord,true)
}
//saves any outstanding changes to the dest foundset
databaseManager.saveData();
//copying from a MailMessage JavaScript object
//var _msg = plugins.mail.receiveMail(login, password, true, 0, null, properties);
//if (_msg != null)
//{
// controller.newRecord();
// var srcObject = _msg[0];
// var destRecord = foundset.getSelectedRecord();
// databaseManager.copyMatchingFields(srcObject, destRecord, true);
// databaseManager.saveData();
//} |
|
|
|
|
Table Body (tbody) |
---|
id | copyMatchingFields-Object_JSRecord_Boolean |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
copyMatchingFields |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(source, destination, overwrite) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Copies all matching non empty columns (if overwrite boolean is given all columns except pk/ident, if array then all columns except pk and array names). The matching requires the properties and getter functions of the source to match those of the destination; for the getter functions, the 'get' will be removed and the remaining name will be converted to lowercase before attempting to match. Returns true if no error occurred. NOTE: This function could be used to store a copy of records in an archive table. Use the getRecord() function to get the record as an object. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} source - The source record or (java/javascript)object to be copied. {JSRecord} destination - The destination record to copy to. {Boolean} overwrite - Boolean values to overwrite all values. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if no errors happened. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| for( var i = 1 ; i <= foundset.getSize() ; i++ )
{
var srcRecord = foundset.getRecord(i);
var destRecord = otherfoundset.getRecord(i);
if (srcRecord == null || destRecord == null) break;
databaseManager.copyMatchingFields(srcRecord,destRecord,true)
}
//saves any outstanding changes to the dest foundset
databaseManager.saveData();
//copying from a MailMessage JavaScript object
//var _msg = plugins.mail.receiveMail(login, password, true, 0, null, properties);
//if (_msg != null)
//{
// controller.newRecord();
// var srcObject = _msg[0];
// var destRecord = foundset.getSelectedRecord();
// databaseManager.copyMatchingFields(srcObject, destRecord, true);
// databaseManager.saveData();
//} |
|
|
|
|
Table Body (tbody) |
---|
id | copyMatchingFields-Object_JSRecord_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
copyMatchingFields |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(source, destination, names) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Copies all matching non empty columns (if overwrite boolean is given all columns except pk/ident, if array then all columns except pk and array names). The matching requires the properties and getter functions of the source to match those of the destination; for the getter functions, the 'get' will be removed and the remaining name will be converted to lowercase before attempting to match. Returns true if no error occurred. NOTE: This function could be used to store a copy of records in an archive table. Use the getRecord() function to get the record as an object. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} source - The source record or (java/javascript)object to be copied. {JSRecord} destination - The destination record to copy to. {String[]} names - The property names that shouldn't be overriden. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if no errors happened. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| for( var i = 1 ; i <= foundset.getSize() ; i++ )
{
var srcRecord = foundset.getRecord(i);
var destRecord = otherfoundset.getRecord(i);
if (srcRecord == null || destRecord == null) break;
databaseManager.copyMatchingFields(srcRecord,destRecord,true)
}
//saves any outstanding changes to the dest foundset
databaseManager.saveData();
//copying from a MailMessage JavaScript object
//var _msg = plugins.mail.receiveMail(login, password, true, 0, null, properties);
//if (_msg != null)
//{
// controller.newRecord();
// var srcObject = _msg[0];
// var destRecord = foundset.getSelectedRecord();
// databaseManager.copyMatchingFields(srcObject, destRecord, true);
// databaseManager.saveData();
//} |
|
|
|
|
Table Body (tbody) |
---|
id | createDataSourceByQuery-String_QBSelect_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createDataSourceByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| createDataSourceByQuery |
Span |
---|
(name, query, max_returned_rows) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a query and saves the result in a datasource. Will throw an exception if anything went wrong when executing the query. Column types in the datasource are inferred from the query result or can be explicitly specified. Using this variation of createDataSourceByQuery any Tablefilter on the involved tables will be taken into account. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} name - data source name {QBSelect} query - The query builder to be executed. {Number} max_returned_rows - The maximum number of rows returned by the query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - datasource containing the results of the query or null if the parameters are wrong. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // select customer data for order 1234
/** @type {QBSelect<db:/example_data/customers>} */
var q = databaseManager.createSelect("db:/example_data/customers");
q.result.add(q.columns.address).add(q.columns.city).add(q.columns.country);
q.where.add(q.joins.customers_to_orders.columns.orderid.eq(1234));
var uri = databaseManager.createDataSourceByQuery('mydata', q, 999);
//var uri = databaseManager.createDataSourceByQuery('mydata', q, 999, [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT]);
// the uri can be used to create a form using solution model
var myForm = solutionModel.newForm('newForm', uri, 'myStyleName', false, 800, 600);
myForm.newTextField('city', 140, 20, 140,20);
// the uri can be used to acces a foundset directly
var fs = databaseManager.getFoundSet(uri);
fs.loadAllRecords(); |
|
|
|
|
Table Body (tbody) |
---|
id | createDataSourceByQuery-String_QBSelect_Number_NumberArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createDataSourceByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| createDataSourceByQuery |
Span |
---|
(name, query, max_returned_rows, types) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a query and saves the result in a datasource. Will throw an exception if anything went wrong when executing the query. Column types in the datasource are inferred from the query result or can be explicitly specified. Using this variation of createDataSourceByQuery any Tablefilter on the involved tables will be taken into account. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} name - Data source name {QBSelect} query - The query builder to be executed. {Number} max_returned_rows - The maximum number of rows returned by the query. {Number[]} types - The column types |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - datasource containing the results of the query or null if the parameters are wrong. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // select customer data for order 1234
/** @type {QBSelect<db:/example_data/customers>} */
var q = databaseManager.createSelect("db:/example_data/customers");
q.result.add(q.columns.address).add(q.columns.city).add(q.columns.country);
q.where.add(q.joins.customers_to_orders.columns.orderid.eq(1234));
var uri = databaseManager.createDataSourceByQuery('mydata', q, 999);
//var uri = databaseManager.createDataSourceByQuery('mydata', q, 999, [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT]);
// the uri can be used to create a form using solution model
var myForm = solutionModel.newForm('newForm', uri, 'myStyleName', false, 800, 600);
myForm.newTextField('city', 140, 20, 140,20);
// the uri can be used to acces a foundset directly
var fs = databaseManager.getFoundSet(uri);
fs.loadAllRecords(); |
|
|
|
|
Table Body (tbody) |
---|
id | createDataSourceByQuery-String_QBSelect_Number_NumberArray_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createDataSourceByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| createDataSourceByQuery |
Span |
---|
(name, query, max_returned_rows, types, pkNames) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a query and saves the result in a datasource. Will throw an exception if anything went wrong when executing the query. Column types in the datasource are inferred from the query result or can be explicitly specified. Using this variation of createDataSourceByQuery any Tablefilter on the involved tables will be taken into account. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} name - Data source name {QBSelect} query - The query builder to be executed. {Number} max_returned_rows - The maximum number of rows returned by the query. {Number[]} types - The column types {String[]} pkNames - array of pk names, when null a hidden pk-column will be added |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - datasource containing the results of the query or null if the parameters are wrong. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // select customer data for order 1234
/** @type {QBSelect<db:/example_data/customers>} */
var q = databaseManager.createSelect("db:/example_data/customers");
q.result.add(q.columns.customer_id).add(q.columns.city).add(q.columns.country);
q.where.add(q.joins.customers_to_orders.columns.orderid.eq(1234));
var uri = databaseManager.createDataSourceByQuery('mydata', q, 999, null, ['customer_id']);
//var uri = databaseManager.createDataSourceByQuery('mydata', q, 999, [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT], ['customer_id']);
// the uri can be used to create a form using solution model
var myForm = solutionModel.newForm('newForm', uri, 'myStyleName', false, 800, 600);
myForm.newTextField('city', 140, 20, 140,20);
// the uri can be used to acces a foundset directly
var fs = databaseManager.getFoundSet(uri);
fs.loadAllRecords(); |
|
|
|
|
Table Body (tbody) |
---|
id | createDataSourceByQuery-String_String_String_ObjectArray_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createDataSourceByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| createDataSourceByQuery |
Span |
---|
(name, server_name, sql_query, arguments, max_returned_rows) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a sql query on the specified server, saves the the result in a datasource. Will throw an exception if anything went wrong when executing the query. Column types in the datasource are inferred from the query result or can be explicitly specified. Using this variation of createDataSourceByQuery any Tablefilter on the involved tables will be disregarded. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} name - data source name {String} server_name - The name of the server where the query should be executed. {String} sql_query - The custom sql. {Object[]} arguments - Specified arguments or null if there are no arguments. {Number} max_returned_rows - The maximum number of rows returned by the query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - datasource containing the results of the query or null if the parameters are wrong. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var query = 'select address, city, country from customers';
var uri = databaseManager.createDataSourceByQuery('mydata', 'example_data', query, null, 999);
//var uri = databaseManager.createDataSourceByQuery('mydata', 'example_data', query, null, 999, [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT]);
// the uri can be used to create a form using solution model
var myForm = solutionModel.newForm('newForm', uri, 'myStyleName', false, 800, 600)
myForm.newTextField('city', 140, 20, 140,20)
// the uri can be used to acces a foundset directly
var fs = databaseManager.getFoundSet(uri)
fs.loadAllRecords(); |
|
|
|
|
Table Body (tbody) |
---|
id | createDataSourceByQuery-String_String_String_ObjectArray_Number_NumberArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createDataSourceByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| createDataSourceByQuery |
Span |
---|
(name, server_name, sql_query, arguments, max_returned_rows, types) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a sql query on the specified server, saves the the result in a datasource. Will throw an exception if anything went wrong when executing the query. Column types in the datasource are inferred from the query result or can be explicitly specified. Using this variation of createDataSourceByQuery any Tablefilter on the involved tables will be disregarded. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} name - data source name {String} server_name - The name of the server where the query should be executed. {String} sql_query - The custom sql. {Object[]} arguments - Specified arguments or null if there are no arguments. {Number} max_returned_rows - The maximum number of rows returned by the query. {Number[]} types - The column types |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - datasource containing the results of the query or null if the parameters are wrong. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var query = 'select address, city, country from customers';
var uri = databaseManager.createDataSourceByQuery('mydata', 'example_data', query, null, 999);
//var uri = databaseManager.createDataSourceByQuery('mydata', 'example_data', query, null, 999, [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT]);
// the uri can be used to create a form using solution model
var myForm = solutionModel.newForm('newForm', uri, 'myStyleName', false, 800, 600)
myForm.newTextField('city', 140, 20, 140,20)
// the uri can be used to acces a foundset directly
var fs = databaseManager.getFoundSet(uri)
fs.loadAllRecords(); |
|
|
|
|
Table Body (tbody) |
---|
id | createDataSourceByQuery-String_String_String_ObjectArray_Number_NumberArray_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createDataSourceByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| createDataSourceByQuery |
Span |
---|
(name, server_name, sql_query, arguments, max_returned_rows, types, pkNames) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a sql query on the specified server, saves the the result in a datasource. Will throw an exception if anything went wrong when executing the query. Column types in the datasource are inferred from the query result or can be explicitly specified. Using this variation of createDataSourceByQuery any Tablefilter on the involved tables will be disregarded. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} name - data source name {String} server_name - The name of the server where the query should be executed. {String} sql_query - The custom sql. {Object[]} arguments - Specified arguments or null if there are no arguments. {Number} max_returned_rows - The maximum number of rows returned by the query. {Number[]} types - The column types {String[]} pkNames - array of pk names, when null a hidden pk-column will be added |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - datasource containing the results of the query or null if the parameters are wrong. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var query = 'select customer_id, address, city, country from customers';
var uri = databaseManager.createDataSourceByQuery('mydata', 'example_data', query, null, 999);
//var uri = databaseManager.createDataSourceByQuery('mydata', 'example_data', query, null, 999, [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT], ['customer_id']);
// the uri can be used to create a form using solution model
var myForm = solutionModel.newForm('newForm', uri, 'myStyleName', false, 800, 600)
myForm.newTextField('city', 140, 20, 140,20)
// the uri can be used to acces a foundset directly
var fs = databaseManager.getFoundSet(uri)
fs.loadAllRecords(); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createEmptyDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an empty dataset object. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSDataSet - An empty JSDataSet with the initial sizes. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // gets an empty dataset with a specifed row and column count
var dataset = databaseManager.createEmptyDataSet(10,10)
// gets an empty dataset with a specifed row count and column array
var dataset2 = databaseManager.createEmptyDataSet(10,new Array ('a','b','c','d')) |
|
|
|
|
Table Body (tbody) |
---|
id | createEmptyDataSet-Number_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createEmptyDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(rowCount, columnCount) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an empty dataset object. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Number} rowCount - The number of rows in the DataSet object. {Number} columnCount - Number of columns. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSDataSet - An empty JSDataSet with the initial sizes. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // gets an empty dataset with a specifed row and column count
var dataset = databaseManager.createEmptyDataSet(10,10)
// gets an empty dataset with a specifed row count and column array
var dataset2 = databaseManager.createEmptyDataSet(10,new Array ('a','b','c','d')) |
|
|
|
|
Table Body (tbody) |
---|
id | createEmptyDataSet-Number_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createEmptyDataSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(rowCount, columnNames) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an empty dataset object. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSDataSet - An empty JSDataSet with the initial sizes. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // gets an empty dataset with a specifed row and column count
var dataset = databaseManager.createEmptyDataSet(10,10)
// gets an empty dataset with a specifed row count and column array
var dataset2 = databaseManager.createEmptyDataSet(10,new Array ('a','b','c','d')) |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
createSelect |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Create a QueryBuilder object for a datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} dataSource - The data source to build a query for. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| /** @type {QBSelect<db:/example_data/book_nodes>} */
var q = databaseManager.createSelect('db:/example_data/book_nodes')
q.result.addPk()
q.where.add(q.columns.label_text.not.isin(null))
databaseManager.getFoundSet('db:/example_data/book_nodes').loadRecords(q) |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
dataSourceExists |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Check wether a data source exists. This function can be used for any type of data source (db-based, in-memory). |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| if (!databaseManager.dataSourceExists(dataSource))
{
// does not exist
} |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getAutoSave |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true or false if autosave is enabled or disabled. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if autosave if enabled. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //Set autosave, if false then no saves will happen by the ui (not including deletes!). Until you call saveData or setAutoSave(true)
//Rollbacks in mem the records that were edited and not yet saved. Best used in combination with autosave false.
databaseManager.setAutoSave(false)
//Now let users input data
//On save or cancel, when data has been entered:
if (cancel) databaseManager.rollbackEditedRecords()
databaseManager.setAutoSave(true) |
|
|
|
|
Table Body (tbody) |
---|
id | getDataModelClonesFrom-String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDataModelClonesFrom |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| getDataModelClonesFrom |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Retrieves a list with names of all database servers that have property DataModelCloneFrom equal to the server name parameter. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var serverNames = databaseManager.getDataModelClonesFrom('myServerName'); |
|
|
|
|
Table Body (tbody) |
---|
id | getDataSetByQuery-QBSelect_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDataSetByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(query, max_returned_rows) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a sql query with a query builder object. Will throw an exception if anything did go wrong when executing the query. Using this variation of getDataSetByQuery any Tablefilter on the involved tables will be taken into account. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {QBSelect} query - QBSelect query. {Number} max_returned_rows - The maximum number of rows returned by the query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSDataSet - The JSDataSet containing the results of the query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // use the query froma foundset and add a condition
/** @type {QBSelect<db:/example_data/orders>} */
var q = foundset.getQuery()
q.where.add(q.joins.orders_to_order_details.columns.discount.eq(2))
var maxReturnedRows = 10;//useful to limit number of rows
var ds = databaseManager.getDataSetByQuery(q, maxReturnedRows);
// query: select PK from example.book_nodes where parent = 111 and(note_date is null or note_date > now)
/** @type {QBSelect<db:/example_data/book_nodes>} */
var query = databaseManager.createSelect('db:/example_data/book_nodes').result.addPk().root
query.where.add(query.columns.parent_id.eq(111))
.add(query.or
.add(query.columns.note_date.isNull)
.add(query.columns.note_date.gt(new Date())))
databaseManager.getDataSetByQuery(q, max_returned_rows) |
|
|
|
|
Table Body (tbody) |
---|
id | getDataSetByQuery-String_String_ObjectArray_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDataSetByQuery |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(server_name, sql_query, arguments, max_returned_rows) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Performs a sql query on the specified server, returns the result in a dataset. Will throw an exception if anything did go wrong when executing the query. Using this variation of getDataSetByQuery any Tablefilter on the involved tables will be disregarded. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} server_name - The name of the server where the query should be executed. {String} sql_query - The custom sql. {Object[]} arguments - Specified arguments or null if there are no arguments. {Number} max_returned_rows - The maximum number of rows returned by the query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSDataSet - The JSDataSet containing the results of the query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //finds duplicate records in a specified foundset
var vQuery =" SELECT companiesid from companies where company_name IN (SELECT company_name from companies group bycompany_name having count(company_name)>1 )";
var vDataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()), vQuery, null, 1000);
controller.loadRecords(vDataset);
var maxReturnedRows = 10;//useful to limit number of rows
var query = 'select c1,c2,c3 from test_table where start_date = ?';//do not use '.' or special chars in names or aliases if you want to access data by name
var args = new Array();
args[0] = order_date //or new Date()
var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()), query, args, maxReturnedRows);
// place in label:
// elements.myLabel.text = '<html>'+dataset.getAsHTML()+'</html>';
//example to calc a strange total
global_total = 0;
for( var i = 1 ; i <= dataset.getMaxRowIndex() ; i++ )
{
dataset.rowIndex = i;
global_total = global_total + dataset.c1 + dataset.getValue(i,3);
}
//example to assign to dataprovider
//employee_salary = dataset.getValue(row,column) |
|
|
|
|
Table Body (tbody) |
---|
id | getDataSource-String_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDataSource |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(serverName, tableName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the datasource corresponding to the given server/table. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The name of the table's server. {String} tableName - The table's name. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - The datasource of the given table/server. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var datasource = databaseManager.getDataSource('example_data', 'categories'); |
|
|
|
|
Table Body (tbody) |
---|
id | getDataSourceServerName-String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDataSourceServerName |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| getDataSourceServerName |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the server name from the datasource, or null if not a database datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} dataSource - The datasource string to get the server name from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - The servername of the datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var servername = databaseManager.getDataSourceServerName(datasource); |
|
|
|
|
Table Body (tbody) |
---|
id | getDataSourceTableName-String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDataSourceTableName |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| getDataSourceTableName |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the table name from the datasource, or null if not a database datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} dataSource - The datasource string to get the tablename from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - The tablename of the datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var tablename = databaseManager.getDataSourceTableName(datasource); |
|
|
|
|
Table Body (tbody) |
---|
id | getDatabaseProductName-String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getDatabaseProductName |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| getDatabaseProductName |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the database product name as supplied by the driver for a server. NOTE: For more detail on named server connections, see the chapter on Database Connections, beginning with the Introduction to database connections in the Servoy Developer User's Guide. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The specified name of the database server connection. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - A database product name. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var databaseProductName = databaseManager.getDatabaseProductName(servername) |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getEditedRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array of edited records with outstanding (unsaved) data. NOTE: To return a dataset of outstanding (unsaved) edited data for each record, see JSRecord.getChangedData(); NOTE2: The fields focus may be lost in user interface in order to determine the edits. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSRecord[] - Array of outstanding/unsaved JSRecords. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //This method can be used to loop through all outstanding changes,
//the application.output line contains all the changed data, their tablename and primary key
var editr = databaseManager.getEditedRecords()
for (x=0;x<editr.length;x++)
{
var ds = editr[x].getChangedData();
var jstable = databaseManager.getTable(editr[x]);
var tableSQLName = jstable.getSQLName();
var pkrec = jstable.getRowIdentifierColumnNames().join(',');
var pkvals = new Array();
for (var j = 0; j < jstable.getRowIdentifierColumnNames().length; j++)
{
pkvals[j] = editr[x][jstable.getRowIdentifierColumnNames()[j]];
}
application.output('Table: '+tableSQLName +', PKs: '+ pkvals.join(',') +' ('+pkrec +')');
// Get a dataset with outstanding changes on a record
for( var i = 1 ; i <= ds.getMaxRowIndex() ; i++ )
{
application.output('Column: '+ ds.getValue(i,1) +', oldValue: '+ ds.getValue(i,2) +', newValue: '+ ds.getValue(i,3));
}
}
//in most cases you will want to set autoSave back on now
databaseManager.setAutoSave(true); |
|
|
|
|
Table Body (tbody) |
---|
id | getEditedRecords-JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getEditedRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array of edited records with outstanding (unsaved) data. NOTE: To return a dataset of outstanding (unsaved) edited data for each record, see JSRecord.getChangedData(); NOTE2: The fields focus may be lost in user interface in order to determine the edits. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - return edited records in the foundset only. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSRecord[] - Array of outstanding/unsaved JSRecords. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //This method can be used to loop through all outstanding changes in a foundset,
//the application.output line contains all the changed data, their tablename and primary key
var editr = databaseManager.getEditedRecords(foundset)
for (x=0;x<editr.length;x++)
{
var ds = editr[x].getChangedData();
var jstable = databaseManager.getTable(editr[x]);
var tableSQLName = jstable.getSQLName();
var pkrec = jstable.getRowIdentifierColumnNames().join(',');
var pkvals = new Array();
for (var j = 0; j < jstable.getRowIdentifierColumnNames().length; j++)
{
pkvals[j] = editr[x][jstable.getRowIdentifierColumnNames()[j]];
}
application.output('Table: '+tableSQLName +', PKs: '+ pkvals.join(',') +' ('+pkrec +')');
// Get a dataset with outstanding changes on a record
for( var i = 1 ; i <= ds.getMaxRowIndex() ; i++ )
{
application.output('Column: '+ ds.getValue(i,1) +', oldValue: '+ ds.getValue(i,2) +', newValue: '+ ds.getValue(i,3));
}
}
databaseManager.saveData(foundset);//save all records from foundset |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFailedRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array of records that fail after a save. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSRecord[] - Array of failed JSRecords |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var array = databaseManager.getFailedRecords()
for( var i = 0 ; i < array.length ; i++ )
{
var record = array[i];
application.output(record.exception);
if (record.exception.getErrorCode() == ServoyException.RECORD_VALIDATION_FAILED)
{
// exception thrown in pre-insert/update/delete event method
var thrown = record.exception.getValue()
application.output("Record validation failed: "+thrown)
}
// find out the table of the record (similar to getEditedRecords)
var jstable = databaseManager.getTable(record);
var tableSQLName = jstable.getSQLName();
application.output('Table:'+tableSQLName+' in server:'+jstable.getServerName()+' failed to save.')
} |
|
|
|
|
Table Body (tbody) |
---|
id | getFailedRecords-JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFailedRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array of records that fail after a save. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - return failed records in the foundset only. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSRecord[] - Array of failed JSRecords |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var array = databaseManager.getFailedRecords(foundset)
for( var i = 0 ; i < array.length ; i++ )
{
var record = array[i];
application.output(record.exception);
if (record.exception.getErrorCode() == ServoyException.RECORD_VALIDATION_FAILED)
{
// exception thrown in pre-insert/update/delete event method
var thrown = record.exception.getValue()
application.output("Record validation failed: "+thrown)
}
// find out the table of the record (similar to getEditedRecords)
var jstable = databaseManager.getTable(record);
var tableSQLName = jstable.getSQLName();
application.output('Table:'+tableSQLName+' in server:'+jstable.getServerName()+' failed to save.')
} |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFoundSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns a foundset object for a specified pk query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {QBSelect} query - The query to get the JSFoundset for. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // type the foundset returned from the call with JSDoc, fill in the right server/tablename
/** @type {JSFoundset<db:/servername/tablename>} */
var fs = databaseManager.getFoundSet(controller.getDataSource())
var ridx = fs.newRecord()
var record = fs.getRecord(ridx)
record.emp_name = 'John'
databaseManager.saveData() |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFoundSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns a foundset object for a specified datasource or server and tablename. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} dataSource - The datasource to get a JSFoundset for. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSFoundSet - A new JSFoundset for that datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // type the foundset returned from the call with JSDoc, fill in the right server/tablename
/** @type {JSFoundset<db:/servername/tablename>} */
var fs = databaseManager.getFoundSet(controller.getDataSource())
var ridx = fs.newRecord()
var record = fs.getRecord(ridx)
record.emp_name = 'John'
databaseManager.saveData() |
|
|
|
|
Table Body (tbody) |
---|
id | getFoundSet-String_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFoundSet |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(serverName, tableName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns a foundset object for a specified datasource or server and tablename. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The servername to get a JSFoundset for. {String} tableName - The tablename for that server |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSFoundSet - A new JSFoundset for that datasource. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // type the foundset returned from the call with JSDoc, fill in the right server/tablename
/** @type {JSFoundset<db:/servername/tablename>} */
var fs = databaseManager.getFoundSet(controller.getDataSource())
var ridx = fs.newRecord()
var record = fs.getRecord(ridx)
record.emp_name = 'John'
databaseManager.saveData() |
|
|
|
|
Table Body (tbody) |
---|
id | getFoundSetCount-Object |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFoundSetCount |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the total number of records in a foundset. NOTE: This can be an expensive operation (time-wise) if your resultset is large. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The JSFoundset to get the count for. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Number - the foundset count |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //return the total number of records in a foundset.
databaseManager.getFoundSetCount(foundset); |
|
|
|
|
Table Body (tbody) |
---|
id | getFoundSetUpdater-Object |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getFoundSetUpdater |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns a JSFoundsetUpdater object that can be used to update all or a specific number of rows in the specified foundset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The foundset to update. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //1) update entire foundset
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
fsUpdater.setColumn('customer_type',1)
fsUpdater.setColumn('my_flag',0)
fsUpdater.performUpdate()
//2) update part of foundset, for example the first 4 row (starts with selected row)
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
fsUpdater.setColumn('customer_type',new Array(1,2,3,4))
fsUpdater.setColumn('my_flag',new Array(1,0,1,0))
fsUpdater.performUpdate()
//3) safely loop through foundset (starts with selected row)
controller.setSelectedIndex(1)
var count = 0
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
while(fsUpdater.next())
{
fsUpdater.setColumn('my_flag',count++)
} |
|
|
|
|
Table Body (tbody) |
---|
id | getNextSequence-String_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getNextSequence |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(dataSource, columnName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Gets the next sequence for a column which has a sequence defined in its column dataprovider properties. NOTE: For more infomation on configuring the sequence for a column, see the section Auto enter options for a column from the Dataproviders chapter in the Servoy Developer User's Guide. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} dataSource - The datasource that points to the table which has the column with the sequence, or the name of the server where the table can be found. If the name of the server is specified, then a second optional parameter specifying the name of the table must be used. If the datasource is specified, then the name of the table is not needed as the second argument. {String} columnName - The name of the column that has a sequence defined in its properties. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Object - The next sequence for the column, null if there was no sequence for that column or if there is no column with the given name. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var seqDataSource = forms.seq_table.controller.getDataSource();
var nextValue = databaseManager.getNextSequence(seqDataSource, 'seq_table_value');
application.output(nextValue);
nextValue = databaseManager.getNextSequence(databaseManager.getDataSourceServerName(seqDataSource), databaseManager.getDataSourceTableName(seqDataSource), 'seq_table_value')
application.output(nextValue); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the internal SQL which defines the specified (related)foundset. Table filters are on by default. Make sure to set the applicable filters when the sql is used in a loadRecords() call. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The JSFoundset to get the sql for. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - String representing the sql of the JSFoundset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var sql = databaseManager.getSQL(foundset) |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(foundset, includeFilters) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the internal SQL which defines the specified (related)foundset. Optionally, the foundset and table filter params can be excluded in the sql (includeFilters=false). Make sure to set the applicable filters when the sql is used in a loadRecords() call. When the founset is in find mode, the find conditions are included in the resulting query. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The JSFoundset to get the sql for. {Boolean} includeFilters - include the foundset and table filters. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String - String representing the sql of the JSFoundset. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var sql = databaseManager.getSQL(foundset) |
|
|
|
|
Table Body (tbody) |
---|
id | getSQLParameters-Object |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getSQLParameters |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the internal SQL parameters, as an array, that are used to define the specified (related)foundset. Parameters for the filters are included. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The JSFoundset to get the sql parameters for. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Object[] - An Array with the sql parameter values. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var sqlParameterArray = databaseManager.getSQLParameters(foundset,false) |
|
|
|
|
Table Body (tbody) |
---|
id | getSQLParameters-Object_Boolean |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getSQLParameters |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(foundset, includeFilters) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the internal SQL parameters, as an array, that are used to define the specified (related)foundset. When the founset is in find mode, the arguments for the find conditions are included in the result. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The JSFoundset to get the sql parameters for. {Boolean} includeFilters - include the parameters for the filters. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Object[] - An Array with the sql parameter values. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var sqlParameterArray = databaseManager.getSQLParameters(foundset,false) |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getServerNames |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array with all the server names used in the solution. NOTE: For more detail on named server connections, see the chapter on Database Connections, beginning with the Introduction to database connections in the Servoy Developer User's Guide. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String[] - An Array of servernames. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var array = databaseManager.getServerNames() |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the JSTable object from which more info can be obtained (like columns). The parameter can be a JSFoundset,JSRecord,datasource string or server/tablename combination. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The foundset where the JSTable can be get from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSTable - the JSTable get from the input. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var jstable = databaseManager.getTable(controller.getDataSource());
//var jstable = databaseManager.getTable(foundset);
//var jstable = databaseManager.getTable(record);
//var jstable = databaseManager.getTable(datasource);
var tableSQLName = jstable.getSQLName();
var columnNamesArray = jstable.getColumnNames();
var firstColumnName = columnNamesArray[0];
var jscolumn = jstable.getColumn(firstColumnName);
var columnLength = jscolumn.getLength();
var columnType = jscolumn.getTypeAsString();
var columnSQLName = jscolumn.getSQLName();
var isPrimaryKey = jscolumn.isRowIdentifier(); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the JSTable object from which more info can be obtained (like columns). The parameter can be a JSFoundset,JSRecord,datasource string or server/tablename combination. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSRecord} record - The record where the table can be get from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSTable - the JSTable get from the input. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var jstable = databaseManager.getTable(controller.getDataSource());
//var jstable = databaseManager.getTable(foundset);
//var jstable = databaseManager.getTable(record);
//var jstable = databaseManager.getTable(datasource);
var tableSQLName = jstable.getSQLName();
var columnNamesArray = jstable.getColumnNames();
var firstColumnName = columnNamesArray[0];
var jscolumn = jstable.getColumn(firstColumnName);
var columnLength = jscolumn.getLength();
var columnType = jscolumn.getTypeAsString();
var columnSQLName = jscolumn.getSQLName();
var isPrimaryKey = jscolumn.isRowIdentifier(); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the JSTable object from which more info can be obtained (like columns). The parameter can be a JSFoundset,JSRecord,datasource string or server/tablename combination. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} dataSource - The datasource where the table can be get from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSTable - the JSTable get from the input. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var jstable = databaseManager.getTable(controller.getDataSource());
//var jstable = databaseManager.getTable(foundset);
//var jstable = databaseManager.getTable(record);
//var jstable = databaseManager.getTable(datasource);
var tableSQLName = jstable.getSQLName();
var columnNamesArray = jstable.getColumnNames();
var firstColumnName = columnNamesArray[0];
var jscolumn = jstable.getColumn(firstColumnName);
var columnLength = jscolumn.getLength();
var columnType = jscolumn.getTypeAsString();
var columnSQLName = jscolumn.getSQLName();
var isPrimaryKey = jscolumn.isRowIdentifier(); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(serverName, tableName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the JSTable object from which more info can be obtained (like columns). The parameter can be a JSFoundset,JSRecord,datasource string or server/tablename combination. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - Server name. {String} tableName - Table name. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| JSTable - the JSTable get from the input. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var jstable = databaseManager.getTable(controller.getDataSource());
//var jstable = databaseManager.getTable(foundset);
//var jstable = databaseManager.getTable(record);
//var jstable = databaseManager.getTable(datasource);
var tableSQLName = jstable.getSQLName();
var columnNamesArray = jstable.getColumnNames();
var firstColumnName = columnNamesArray[0];
var jscolumn = jstable.getColumn(firstColumnName);
var columnLength = jscolumn.getLength();
var columnType = jscolumn.getTypeAsString();
var columnSQLName = jscolumn.getSQLName();
var isPrimaryKey = jscolumn.isRowIdentifier(); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getTableCount |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns the total number of records(rows) in a table. NOTE: This can be an expensive operation (time-wise) if your resultset is large |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} dataSource - Data where a server table can be get from. Can be a foundset, a datasource name or a JSTable. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Number - the total table count. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //return the total number of rows in a table.
var count = databaseManager.getTableCount(foundset); |
|
|
|
|
Table Body (tbody) |
---|
id | getTableFilterParams-String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getTableFilterParams |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns a two dimensional array object containing the table filter information currently applied to the servers tables. The "columns" of a row from this array are: tablename,dataprovider,operator,value,tablefilername |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The name of the database server connection. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Object[][] - Two dimensional array. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var params = databaseManager.getTableFilterParams(databaseManager.getDataSourceServerName(controller.getDataSource()))
for (var i = 0; params != null && i < params.length; i++)
{
application.output('Table filter on table ' + params[i][0]+ ': '+ params[i][1]+ ' '+params[i][2]+ ' '+params[i][3] +(params[i][4] == null ? ' [no name]' : ' ['+params[i][4]+']'))
} |
|
|
|
|
Table Body (tbody) |
---|
id | getTableFilterParams-String_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getTableFilterParams |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(serverName, filterName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns a two dimensional array object containing the table filter information currently applied to the servers tables. The "columns" of a row from this array are: tablename,dataprovider,operator,value,tablefilername |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The name of the database server connection. {String} filterName - The filter name for which to get the array. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Object[][] - Two dimensional array. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var params = databaseManager.getTableFilterParams(databaseManager.getDataSourceServerName(controller.getDataSource()))
for (var i = 0; params != null && i < params.length; i++)
{
application.output('Table filter on table ' + params[i][0]+ ': '+ params[i][1]+ ' '+params[i][2]+ ' '+params[i][3] +(params[i][4] == null ? ' [no name]' : ' ['+params[i][4]+']'))
} |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getTableNames |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array of all table names for a specified server. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The server name to get the table names from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String[] - An Array with the tables names of that server. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //return all the table names as array
var tableNamesArray = databaseManager.getTableNames('user_data');
var firstTableName = tableNamesArray[0]; |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
getViewNames |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns an array of all view names for a specified server. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The server name to get the view names from. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| String[] - An Array with the view names of that server. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //return all the view names as array
var viewNamesArray = databaseManager.getViewNames('user_data');
var firstViewName = viewNamesArray[0]; |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the current client has any or the specified lock(s) acquired. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the current client has locks or the lock. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var hasLocks = databaseManager.hasLocks('mylock') |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the current client has any or the specified lock(s) acquired. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} lockName - The lock name to check. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the current client has locks or the lock. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var hasLocks = databaseManager.hasLocks('mylock') |
|
|
|
|
Table Body (tbody) |
---|
id | hasNewRecords-JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasNewRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the argument (foundSet / record) has at least one row that was not yet saved in the database. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to test. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the JSFoundset has new records or JSRecord is a new record. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var fs = databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'employees');
databaseManager.startTransaction();
var ridx = fs.newRecord();
var record = fs.getRecord(ridx);
record.emp_name = 'John';
if (databaseManager.hasNewRecords(fs)) {
application.output("new records");
} else {
application.output("no new records");
}
databaseManager.saveData();
databaseManager.commitTransaction(); |
|
|
|
|
Table Body (tbody) |
---|
id | hasNewRecords-JSFoundSet_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasNewRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the argument (foundSet / record) has at least one row that was not yet saved in the database. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to test. {Number} index - The record index in the foundset to test (not specified means has the foundset any new records) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the JSFoundset has new records or JSRecord is a new record. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var fs = databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'employees');
databaseManager.startTransaction();
var ridx = fs.newRecord();
var record = fs.getRecord(ridx);
record.emp_name = 'John';
if (databaseManager.hasNewRecords(fs)) {
application.output("new records");
} else {
application.output("no new records");
}
databaseManager.saveData();
databaseManager.commitTransaction(); |
|
|
|
|
Table Body (tbody) |
---|
id | hasRecordChanges-JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasRecordChanges |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the specified foundset, on a specific index or in any of its records, or the specified record has changes. NOTE: The fields focus may be lost in user interface in order to determine the edits. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to test if it has changes. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if there are changes in the JSFoundset or JSRecord. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| if (databaseManager.hasRecordChanges(foundset,2))
{
//do save or something else
} |
|
|
|
|
Table Body (tbody) |
---|
id | hasRecordChanges-JSFoundSet_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasRecordChanges |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the specified foundset, on a specific index or in any of its records, or the specified record has changes. NOTE: The fields focus may be lost in user interface in order to determine the edits. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to test if it has changes. {Number} index - The record index in the foundset to test (not specified means has the foundset any changed records) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if there are changes in the JSFoundset or JSRecord. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| if (databaseManager.hasRecordChanges(foundset,2))
{
//do save or something else
} |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the (related)foundset exists and has records. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the foundset/relation has records. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| if (elements.customer_id.hasRecords(orders_to_orderitems))
{
//do work on relatedFoundSet
}
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
// //do work on deeper relatedFoundSet
//} |
|
|
|
|
Table Body (tbody) |
---|
id | hasRecords-JSRecord_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(record, relationString) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if the (related)foundset exists and has records. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSRecord} record - A JSRecord to test. {String} relationString - The relation name. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the foundset/relation has records. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| if (elements.customer_id.hasRecords(orders_to_orderitems))
{
//do work on relatedFoundSet
}
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
// //do work on deeper relatedFoundSet
//} |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
hasTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Returns true if there is an transaction active for this client. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the client has a transaction. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var hasTransaction = databaseManager.hasTransaction() |
|
|
|
|
Table Body (tbody) |
---|
id | mergeRecords-JSRecord_JSRecord |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
mergeRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(sourceRecord, combinedDestinationRecord) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Merge records from the same foundset, updates entire datamodel (via foreign type on columns) with destination record pk, deletes source record. Do use a transaction! This function is very handy in situations where duplicate data exists. It allows you to merge the two records and move all related records in one go. Say the source_record is "Ikea" and the combined_destination_record is "IKEA", the "Ikea" record is deleted and all records related to it (think of contacts and orders, for instance) will be related to the "IKEA" record. The function takes an optional array of column names. If provided, the data in the named columns will be copied from source_record to combined_destination_record. Note that it is essential for both records to originate from the same foundset, as shown in the sample code. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSRecord} sourceRecord - The source JSRecord to copy from. {JSRecord} combinedDestinationRecord - The target/destination JSRecord to copy into. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the records could me merged. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.mergeRecords(foundset.getRecord(1),foundset.getRecord(2)); |
|
|
|
|
Table Body (tbody) |
---|
id | mergeRecords-JSRecord_JSRecord_StringArray |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
mergeRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(sourceRecord, combinedDestinationRecord, columnNames) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Merge records from the same foundset, updates entire datamodel (via foreign type on columns) with destination record pk, deletes source record. Do use a transaction! This function is very handy in situations where duplicate data exists. It allows you to merge the two records and move all related records in one go. Say the source_record is "Ikea" and the combined_destination_record is "IKEA", the "Ikea" record is deleted and all records related to it (think of contacts and orders, for instance) will be related to the "IKEA" record. The function takes an optional array of column names. If provided, the data in the named columns will be copied from source_record to combined_destination_record. Note that it is essential for both records to originate from the same foundset, as shown in the sample code. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSRecord} sourceRecord - The source JSRecord to copy from. {JSRecord} combinedDestinationRecord - The target/destination JSRecord to copy into. {String[]} columnNames - The column names array that should be copied. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the records could me merged. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.mergeRecords(foundset.getRecord(1),foundset.getRecord(2)); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
recalculate |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Can be used to recalculate a specified record or all rows in the specified foundset. May be necessary when data is changed from outside of servoy, or when there is data changed inside servoy but records with calculations depending on that data where not loaded so not updated and you need to update the stored calculation values because you are depending on that with queries or aggregates. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundsetOrRecord - JSFoundset or JSRecord to recalculate. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // recalculate one record from a foundset.
databaseManager.recalculate(foundset.getRecord(1));
// recalculate all records from the foundset.
// please use with care, this can be expensive!
//databaseManager.recalculate(foundset); |
|
|
|
|
Table Body (tbody) |
---|
id | refreshRecordFromDatabase-Object_Number |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
refreshRecordFromDatabase |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| refreshRecordFromDatabase |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Flushes the client data cache and requeries the data for a record (based on the record index) in a foundset or all records in the foundset. Used where a program external to Servoy has modified the database record. Record index of -1 will refresh all records in the foundset and 0 the selected record. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Object} foundset - The JSFoundset to refresh {Number} index - The index of the JSRecord that must be refreshed (or -1 for all). |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the refresh was done. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //refresh the second record from the foundset.
databaseManager.refreshRecordFromDatabase(foundset,2)
//flushes all records in the related foundset (-1 is or can be an expensive operation)
databaseManager.refreshRecordFromDatabase(order_to_orderdetails,-1); |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
releaseAllLocks |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Release all current locks the client has (optionally limited to named locks). return true if the locks are released. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if all locks or the lock is released. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.releaseAllLocks('mylock') |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
releaseAllLocks |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Release all current locks the client has (optionally limited to named locks). return true if the locks are released. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} lockName - The lock name to release. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if all locks or the lock is released. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.releaseAllLocks('mylock') |
|
|
|
|
Table Body (tbody) |
---|
id | removeTableFilterParam-String_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
removeTableFilterParam |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| removeTableFilterParam |
Span |
---|
(serverName, filterName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Removes a previously defined table filter. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} serverName - The name of the database server connection. {String} filterName - The name of the filter that should be removed. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the filter could be removed. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| var success = databaseManager.removeTableFilterParam('admin', 'higNumberedMessagesRule') |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
revertEditedRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Reverts outstanding (not saved) in memory changes from edited records. Can specify a record or foundset as parameter to rollback. Best used in combination with the function databaseManager.setAutoSave() This does not include deletes, they do not honor the autosafe false flag so they cant be rollbacked by this call. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //Set autosave, if false then no saves will happen by the ui (not including deletes!). Until you call saveData or setAutoSave(true)
//reverts in mem the records that were edited and not yet saved. Best used in combination with autosave false.
databaseManager.setAutoSave(false)
//Now let users input data
//On save or cancel, when data has been entered:
if (cancel) databaseManager.revertEditedRecords()
//databaseManager.revertEditedRecords(foundset); // rollback all records from foundset
//databaseManager.revertEditedRecords(foundset.getSelectedRecord()); // rollback only one record
databaseManager.setAutoSave(true) |
|
|
|
|
Table Body (tbody) |
---|
id | revertEditedRecords-JSFoundSet |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
revertEditedRecords |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Reverts outstanding (not saved) in memory changes from edited records. Can specify a record or foundset as parameter to rollback. Best used in combination with the function databaseManager.setAutoSave() This does not include deletes, they do not honor the autosafe false flag so they cant be rollbacked by this call. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - A JSFoundset to revert. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //Set autosave, if false then no saves will happen by the ui (not including deletes!). Until you call saveData or setAutoSave(true)
//reverts in mem the records that were edited and not yet saved. Best used in combination with autosave false.
databaseManager.setAutoSave(false)
//Now let users input data
//On save or cancel, when data has been entered:
if (cancel) databaseManager.revertEditedRecords()
//databaseManager.revertEditedRecords(foundset); // rollback all records from foundset
//databaseManager.revertEditedRecords(foundset.getSelectedRecord()); // rollback only one record
databaseManager.setAutoSave(true) |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
rollbackTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Rollback a transaction started by databaseManager.startTransaction(). Note that when autosave is false, rollbackEditedRecords() will not handle deleted records, while rollbackTransaction() does. Also, rollbackEditedRecords() is called before rolling back the transaction see rollbackTransaction(boolean) to controll that behavior and saved records within the transactions are restored to the database values, so user input is lost, to controll this see rollbackTransaction(boolean,boolean) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
id | rollbackTransaction-Boolean |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
rollbackTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Rollback a transaction started by databaseManager.startTransaction(). Note that when autosave is false, rollbackEditedRecords() will not handle deleted records, while rollbackTransaction() does. Also, saved records within the transactions are restored to the database values, so user input is lost, to controll this see rollbackTransaction(boolean,boolean) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Boolean} rollbackEdited - call rollbackEditedRecords() before rolling back the transaction |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
id | rollbackTransaction-Boolean_Boolean |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
rollbackTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(rollbackEdited, revertSavedRecords) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Rollback a transaction started by databaseManager.startTransaction(). Note that when autosave is false, rollbackEditedRecords() will not handle deleted records, while rollbackTransaction() does. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Boolean} rollbackEdited - call rollbackEditedRecords() before rolling back the transaction {Boolean} revertSavedRecords - if false then all records in the transaction do keep the user input and are back in the edited records list |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Saves all outstanding (unsaved) data and exits the current record. Optionally, by specifying a record or foundset, can save a single record or all records from foundset instead of all the data. NOTE: The fields focus may be lost in user interface in order to determine the edits. SaveData called from table events (like afterRecordInsert) is only partially supported depeding on how first saveData (that triggers the event) is called. If first saveData is called with no arguments, all saveData from table events are returning immediatelly with true value and records will be saved as part of first save. If first saveData is called with record(s) as arguments, saveData from table event will try to save record(s) from arguments that are different than those in first call. SaveData with no arguments inside table events will always return true without saving anything. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the save was done without an error. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.saveData();
//databaseManager.saveData(foundset.getRecord(1));//save specific record
//databaseManager.saveData(foundset);//save all records from foundset
// when creating many records in a loop do a batch save on an interval as every 10 records (to save on memory and roundtrips)
// for (var recordIndex = 1; recordIndex <= 5000; recordIndex++)
// {
// foundset.newRecord();
// someColumn = recordIndex;
// anotherColumn = "Index is: " + recordIndex;
// if (recordIndex % 10 == 0) databaseManager.saveData();
// } |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Saves all outstanding (unsaved) data and exits the current record. Optionally, by specifying a record or foundset, can save a single record or all records from foundset instead of all the data. NOTE: The fields focus may be lost in user interface in order to determine the edits. SaveData called from table events (like afterRecordInsert) is only partially supported depeding on how first saveData (that triggers the event) is called. If first saveData is called with no arguments, all saveData from table events are returning immediatelly with true value and records will be saved as part of first save. If first saveData is called with record(s) as arguments, saveData from table event will try to save record(s) from arguments that are different than those in first call. SaveData with no arguments inside table events will always return true without saving anything. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSFoundSet} foundset - The JSFoundset to save. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the save was done without an error. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.saveData();
//databaseManager.saveData(foundset.getRecord(1));//save specific record
//databaseManager.saveData(foundset);//save all records from foundset
// when creating many records in a loop do a batch save on an interval as every 10 records (to save on memory and roundtrips)
// for (var recordIndex = 1; recordIndex <= 5000; recordIndex++)
// {
// foundset.newRecord();
// someColumn = recordIndex;
// anotherColumn = "Index is: " + recordIndex;
// if (recordIndex % 10 == 0) databaseManager.saveData();
// } |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Saves all outstanding (unsaved) data and exits the current record. Optionally, by specifying a record or foundset, can save a single record or all records from foundset instead of all the data. NOTE: The fields focus may be lost in user interface in order to determine the edits. SaveData called from table events (like afterRecordInsert) is only partially supported depeding on how first saveData (that triggers the event) is called. If first saveData is called with no arguments, all saveData from table events are returning immediatelly with true value and records will be saved as part of first save. If first saveData is called with record(s) as arguments, saveData from table event will try to save record(s) from arguments that are different than those in first call. SaveData with no arguments inside table events will always return true without saving anything. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {JSRecord} record - The JSRecord to save. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the save was done without an error. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| databaseManager.saveData();
//databaseManager.saveData(foundset.getRecord(1));//save specific record
//databaseManager.saveData(foundset);//save all records from foundset
// when creating many records in a loop do a batch save on an interval as every 10 records (to save on memory and roundtrips)
// for (var recordIndex = 1; recordIndex <= 5000; recordIndex++)
// {
// foundset.newRecord();
// someColumn = recordIndex;
// anotherColumn = "Index is: " + recordIndex;
// if (recordIndex % 10 == 0) databaseManager.saveData();
// } |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
setAutoSave |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Set autosave, if false then no saves will happen by the ui (not including deletes!). Until you call databaseManager.saveData() or setAutoSave(true) If you also want to be able to rollback deletes then you have to use databaseManager.startTransaction(). Because even if autosave is false deletes of records will be done. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {Boolean} autoSave - Boolean to enable or disable autosave. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - false if the current edited record could not be saved. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //Rollbacks in mem the records that were edited and not yet saved. Best used in combination with autosave false.
databaseManager.setAutoSave(false)
//Now let users input data
//On save or cancel, when data has been entered:
if (cancel) databaseManager.rollbackEditedRecords()
databaseManager.setAutoSave(true) |
|
|
|
|
Table Body (tbody) |
---|
id | setCreateEmptyFormFoundsets |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
| setCreateEmptyFormFoundsets |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Turnoff the initial form foundset record loading, set this in the solution open method. Simular to calling foundset.clear() in the form's onload event. NOTE: When the foundset record loading is turned off, controller.find or controller.loadAllRecords must be called to display the records |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //this has to be called in the solution open method
databaseManager.setCreateEmptyFormFoundsets() |
|
|
|
|
Table Body (tbody) |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
startTransaction |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Start a database transaction. If you want to avoid round trips to the server or avoid the posibility of blocking other clients because of your pending changes, you can use databaseManager.setAutoSave(false/true) and databaseManager.rollbackEditedRecords(). startTransaction, commit/rollbackTransacton() does support rollbacking of record deletes which autoSave = false doesnt support. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| // starts a database transaction
databaseManager.startTransaction()
//Now let users input data
//when data has been entered do a commit or rollback if the data entry is canceld or the the commit did fail.
if (cancel || !databaseManager.commitTransaction())
{
databaseManager.rollbackTransaction();
} |
|
|
|
|
Table Body (tbody) |
---|
id | switchServer-String_String |
---|
| Table Row (tr) |
---|
| Table Cell (td) |
---|
switchServer |
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Span |
---|
(sourceName, destinationName) |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Div |
---|
| Switches a named server to another named server with the same datamodel (recommended to be used in an onOpen method for a solution). return true if successful. Note that this only works if source and destination server are of the same database type. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Parameters Div |
---|
| {String} sourceName - The name of the source database server connection {String} destinationName - The name of the destination database server connection. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Returns Div |
---|
| Boolean - true if the switch could be done. |
|
|
Table Row (tr) |
---|
| Table Cell (td) |
---|
Sample Div |
---|
| Code Block |
---|
| //dynamically changes a server for the entire solution, destination database server must contain the same tables/columns!
//will fail if there is a lock, transaction , if repository_server is used or if destination server is invalid
//in the solution keep using the sourceName every where to reference the server!
var success = databaseManager.switchServer('crm', 'crm1') |
|
|
|
|
|