Page 1 of 1

CRUD on mysql using forms

PostPosted: Thu Dec 17, 2015 4:04 pm
by rajhritish
Hey guys,
how can we perform crud ops on db? we have database manager and in that I am able to find few methods, but I need to perform them only on a button click. If I give an event it asks for various types of events like entity, form and scope. Can anyone explain with an example?

Thank you

Re: CRUD on mysql using forms

PostPosted: Thu Dec 17, 2015 5:23 pm
by paronne
Hi normally CRUD operations on database are done through the foundset object. You can perform direct CRUD queries in db but we discourage to do so.
In few words the foundset caches records of a table into a programmatical object as result of a query.
On a foundset object you can, create newRecord, deleteRecord and edit the records. Edit of the record it can be done directly from the UI thanks to the databinding feature.
To perform CRUD operation programmaticaly, let's assume you want to edit the column (we call it dataprovider) 'companyname' of the table 'companies'. You will need to retrieve a foundset object based on table companies (a foundset has always a datasource which normally is a table in a database). You can create a new record with the method foundset.newRecord, delete it with foundset.deleteRecord and you can update a value by simplying accessing the column name.
foundset.companyname = "New Company" would update the column of the selectedRecord (a foundset has always a selectedRecord).
foundset.getRecord(idx).companyname = "New Company" would update the value of the column in a record at index idx.
You can finally use the methods of the databaseManager, databaseManager.saveData() to push the changes to the DB, you have support for transactions and recordLocking too.
NOTE Carefully: Servoy has an autoSave mode which is ON by default and pushes immediately any change to the database. call databaseManager.setAutoSave(false) to disable it and get in control on when to save the changes.

See our wiki pages for a better understanding of the foundset: https://wiki.servoy.com/display/DOCS/Working+with+Data, https://wiki.servoy.com/display/DOCS/Th ... y+Foundset