Child pages
  • Database Manager

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[JSFoundSet]{span}{span:class=sWordList}[JSRecord]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Property Summary{th}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[String]{td}{td}[#getDataSource]\(serverName, tableName)
Returns the datasource corresponding to the given server/table.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getDataSourceServerName]\(dataSource)
Returns the server name from the datasource, or null if not a database datasource.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getDataSourceTableName]\(dataSource)
Returns the table name from the datasource, or null if the specified argument is not a database datasource.{td}{tr}{tbody}{tbody}{tr}{td}[JSFoundSet]{td}{td}[#getFoundSet]\(dataSource)
Returns a foundset object for a specified datasource or server and tablename.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#hasRecords]\(foundset)
Returns true if the (related)foundset exists and has records.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#hasRecords]\(record, relationString)
Returns true if the (related)foundset exists and has records.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#saveData]\()
Saves all outstanding (unsaved) data and exits the current record.{td}{tr}{tbody}{table}\\ 

{table:id=property|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Property Details{th}{tr}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=getDataSource|class=node}{tr:id=name}{td}h6.getDataSource{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getDataSource{span}{span:id=iets|style=float: left;}\(serverName, tableName){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getDataSource_des|trigger=button|text=}{sub-section}{sub-section:getDataSource_des|trigger=none|class=sIndent}ReturnsReplace the datasource corresponding to the given server/table.with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getDataSource_snc|trigger=button|text=}{sub-section}{sub-section:getDataSource_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getDataSource_prs|trigger=button|text=}{sub-section}{sub-section:getDataSource_prs|trigger=none|class=sIndent}\{[String]} serverName -- The name of the table's server.
\{[String]} tableName -- The table's name.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getDataSource_ret|trigger=button|text=}{sub-section}{sub-section:getDataSource_ret|trigger=none|class=sIndent}[String] -- The datasource of the given table/server.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getDataSource_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSource_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDataSource_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSource_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDataSource_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSource_sam|trigger=none}{code:language=javascript}
var datasource = databaseManager.getDataSource('example_data', 'categories');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDataSourceServerName|class=node}{tr:id=name}{td}h6.getDataSourceServerName{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getDataSourceServerName{span}{span:id=iets|style=float: left;}\(dataSource){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getDataSourceServerName_des|trigger=button|text=}{sub-section}{sub-section:getDataSourceServerName_des|trigger=none|class=sIndent}ReturnsReplace the server name from the datasource, or null if not a database datasource.with description{sub-section}{td}{tr}{builder-show:}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getDataSourceServerName_snc|trigger=button|text=}{sub-section}{sub-section:getDataSourceServerName_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getDataSourceServerName_prs|trigger=button|text=}{sub-section}{sub-section:getDataSourceServerName_prs|trigger=none|class=sIndent}\{[String]} dataSource -- The datasource string to get the server name from.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getDataSourceServerName_ret|trigger=button|text=}{sub-section}{sub-section:getDataSourceServerName_ret|trigger=none|class=sIndent}[String] -- The servername of the datasource.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getDataSourceServerName_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSourceServerName_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDataSourceServerName_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSourceServerName_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDataSourceServerName_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSourceServerName_sam|trigger=none}{code:language=javascript}
var servername = databaseManager.getDataSourceServerName(datasource);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDataSourceTableName|class=node}{tr:id=name}{td}h6.getDataSourceTableName{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getDataSourceTableName{span}{span:id=iets|style=float: left;}\(dataSource){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getDataSourceTableName_des|trigger=button|text=}{sub-section}{sub-section:getDataSourceTableName_des|trigger=none|class=sIndent}ReturnsReplace the table name from the datasource, or null if not a database datasource.with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getDataSourceTableName_snc|trigger=button|text=}{sub-section}{sub-section:getDataSourceTableName_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getDataSourceTableName_prs|trigger=button|text=}{sub-section}{sub-section:getDataSourceTableName_prs|trigger=none|class=sIndent}\{[String]} dataSource -- The datasource string to get the tablename from.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getDataSourceTableName_ret|trigger=button|text=}{sub-section}{sub-section:getDataSourceTableName_ret|trigger=none|class=sIndent}[String] -- The tablename of the datasource.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getDataSourceTableName_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSourceTableName_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDataSourceTableName_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSourceTableName_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDataSourceTableName_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataSourceTableName_sam|trigger=none}{code:language=javascript}
var tablenametheTableName = databaseManager.getDataSourceTableName(datasource);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getFoundSet-String|class=node}{tr:id=name}{td}h6.getFoundSet{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFoundSet]{span}{span:id=iets|style=float: left; font-weight: bold;}getFoundSet{span}{span:id=iets|style=float: left;}\(dataSource){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getFoundSet-String_des|trigger=button|text=}{sub-section}{sub-section:getFoundSet-String_des|trigger=none|class=sIndent}ReturnsReplace a foundset object for a specified datasource or server and tablename.{sub-section}{td}{trwith description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getFoundSet-String_snc|trigger=button|text=}{sub-section}{sub-section:getFoundSet-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getFoundSet-String_prs|trigger=button|text=}{sub-section}{sub-section:getFoundSet-String_prs|trigger=none|class=sIndent}\{[String]} dataSource -- The datasource to get a JSFoundset for.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getFoundSet-String_ret|trigger=button|text=}{sub-section}{sub-section:getFoundSet-String_ret|trigger=none|class=sIndent}[JSFoundSet] -- A new JSFoundset for that datasource.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getFoundSet-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getFoundSet-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getFoundSet-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getFoundSet-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getFoundSet-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getFoundSet-String_sam|trigger=none}{code:language=javascript}
// 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()
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=hasRecords-JSFoundSet|class=node}{tr:id=name}{td}h6.hasRecords{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}hasRecords{span}{span:id=iets|style=float: left;}\(foundset){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:hasRecords-JSFoundSet_des|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_des|trigger=none|class=sIndent}ReturnsReplace true if the (related)foundset exists and has records.with description{sub-section}{td}{tr}{builder-show:}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:hasRecords-JSFoundSet_snc|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:hasRecords-JSFoundSet_prs|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_prs|trigger=none|class=sIndent}\{[JSFoundSet]} foundset -- A JSFoundset to test.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:hasRecords-JSFoundSet_ret|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_ret|trigger=none|class=sIndent}[Boolean] -- true if the foundset/relation has records.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:hasRecords-JSFoundSet_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSFoundSet_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:hasRecords-JSFoundSet_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSFoundSet_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:hasRecords-JSFoundSet_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSFoundSet_sam|trigger=none}{code:language=javascript}
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
//}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=hasRecords-JSRecord_String|class=node}{tr:id=name}{td}h6.hasRecords{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}hasRecords{span}{span:id=iets|style=float: left;}\(record, relationString){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:hasRecords-JSRecord_String_des|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_des|trigger=none|class=sIndent}ReturnsReplace true if the (related)foundset exists and has records.with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:hasRecords-JSRecord_String_snc|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:hasRecords-JSRecord_String_prs|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_prs|trigger=none|class=sIndent}\{[JSRecord]} record -- A JSRecord to test.
\{[String]} relationString -- The relation name.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:hasRecords-JSRecord_String_ret|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_ret|trigger=none|class=sIndent}[Boolean] -- true if the foundset/relation has records.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:hasRecords-JSRecord_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSRecord_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:hasRecords-JSRecord_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSRecord_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:hasRecords-JSRecord_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSRecord_String_sam|trigger=none}{code:language=javascript}
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
//}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=saveData|class=node}{tr:id=name}{td}h6.saveData{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}saveData{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:saveData_des|trigger=button|text=}{sub-section}{sub-section:saveData_des|trigger=none|class=sIndent}SavesReplace all outstanding (unsaved) data and exits the current record. 
Optionally, by specifying a record or foundset, can save a single record or all reacords from foundset instead of all the data.

NOTE: The fields focus may be lost in user interface in order to determine the edits.with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:saveData_snc|trigger=button|text=}{sub-section}{sub-section:saveData_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:saveData_prs|trigger=button|text=}{sub-section}{sub-section:saveData_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:saveData_ret|trigger=button|text=}{sub-section}{sub-section:saveData_ret|trigger=none|class=sIndent}[Boolean] -- true if the save was done without an error.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:saveData_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:saveData_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:saveData_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:saveData_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:saveData_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:saveData_sam|trigger=none}{code:language=javascript}
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++) 
// {
//		currentcontrollerfoundset.newRecord();
//		someColumn = recordIndex;
//		anotherColumn = "Index is: " + recordIndex;
//		if (recordIndex % 10 == 0) databaseManager.saveData();
// }
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}