From a global method, I’m trying to update a column in my configuration database. What am I doing wrong here?
The result1, result2 and result3 all come back as true but the value in database does not change.
var lvConfigFS = databaseManager.getFoundSet('logger','config');
lvConfigFS.setSelectedIndex(1);
var lvConfUpdate = databaseManager.getFoundSetUpdater(lvConfigFS);
var result1 = lvConfUpdate.setColumn('file_ptr',globals.gvl_FilePtr);
var result2 = lvConfUpdate.performUpdate();
var result3 = databaseManager.saveData();
For anyone that’s interested. It would appear that foundset object source needs to be the foundset of a form.
var lvConfigFS = forms.config.foundset
lvConfigFS.setSelectedIndex(1);
var lvConfUpdate = databaseManager.getFoundSetUpdater(lvConfigFS);
var result1 = lvConfUpdate.setColumn('file_ptr',globals.gvl_FilePtr);
var result2 = lvConfUpdate.performUpdate();
var result3 = databaseManager.saveData();
When using the getFoundSet() function you have in fact an empty foundset. So you need to load it first before you can work on records.
The following code loads all records but you can load any selection you want of course:
var lvConfigFS = databaseManager.getFoundSet('logger','config');
lvConfigFS.loadAllRecords();
lvConfigFS.setSelectedIndex(1);
var lvConfUpdate = databaseManager.getFoundSetUpdater(lvConfigFS);
var result1 = lvConfUpdate.setColumn('file_ptr',globals.gvl_FilePtr);
var result2 = lvConfUpdate.performUpdate();
var result3 = databaseManager.saveData();