I have been trying to insert a new record in my database.
My code is as follows:
// Create new record
var idx = forms[formName].foundset.newRecord();
var record = forms[formName].foundset.getRecord(idx);
// Get record from where to copy data
var fsProfile = databaseManager.getFoundSet( "DatabaseName", tableName )
var whrString = "'"+whereKey+"'"
var _queryProfile ='Select "'+pkId+'" from "'+tableName+'" where "'+pkId+'" ='+whrString
application.output('Select "'+pkId+'" from "'+tableName+'" where "'+pkId+'" ='+whrString)
var _argsProfile = new Array()
fsProfile.loadRecords(_queryProfile,_argsProfile)
var dprovider = ''
for(var i = 0; i < fsProfile.alldataproviders.length; i++) {
dprovider = fsProfile.alldataproviders[i]
// keyDataProvider is my primary key
if(dprovider != keyDataProvider) {
record.foundset.setDataProviderValue(dprovider,fsProfile[dprovider])
}
}
Now when I check my record in the database, all values are getting updated as expected but when I try to retrieve the primary key value by using
returnVal = record.foundset.getDataProviderValue(keyDataProvider);
OR
returnVal = record[keyDataProvider]
it is returning <null>, even though the value is set in the new record (verified by checking the database).
I even tried using
record = forms[frmObject].foundset.getRecord(idx);
before retrieving the primary key value so as to refresh the contents of 'record' but still no luck.
Any workaround for this?