Hi the following code was working in previous solution under Servoy Build 308/MySql 4.0, but since moving to Servoy build 318/MySql 4.1 it returns ‘Undefined’
Can anyone throw any light on this please?
Thanks for any help.
var displayArray = new Array();
var returnArray = new Array();
var queryStatement = "SELECT sgb_branch_nbr, business, branch_name FROM sgb_branch ORDER BY sgb_branch_nbr";
var query = queryStatement;
var maxReturnedRows = 400;
var dataset = databaseManager.getDataSetByQuery(controller.getServerName(),query,null,maxReturnedRows);
for( var i=1; i<= dataset.getMaxRowIndex(); i++)
{
dataset.rowIndex = i;
var branch_nbr = utils.stringRight("0000" + dataset[1],4);
displayArray[i-1] = branch_nbr + "-" + dataset[2] + "-" + dataset[3];
returnArray[i-1] = branch_nbr;
//i-1 in the array because it is zero based and dataset is 1 based
}
application.setValueListItems('sgbContactAccess', displayArray, returnArray );code]
The handling of datasets has changed a bit in recent time in my experience. What happens if you use dataset.getColumnAsArray(number) to populate the array instead of looping through the dataset?
I’m looping through the array to build to build two new arrays, display array and return array.
By the way, the code I submitted is wrong (I had been playing with different possibilities), should have been:
var displayArray = new Array();
var returnArray = new Array();
var queryStatement = "SELECT sgb_branch_nbr, business, branch_name FROM sgb_branch ORDER BY sgb_branch_nbr";
var query = queryStatement;
var maxReturnedRows = 400;
var dataset = databaseManager.getDataSetByQuery(controller.getServerName(),query,null,maxReturnedRows);
for( var i=1; i<= dataset.getMaxRowIndex(); i++)
{
dataset.rowIndex = i;
var branch_nbr = utils.stringRight("0000" + dataset[1],4);
displayArray[i-1] = branch_nbr + "-" + dataset[2] + "-" + dataset[3];
returnArray[i-1] = branch_nbr;
//i-1 in the array because it is zero based and dataset is 1 based
}
application.setValueListItems('sgbContactAccess', displayArray, returnArray );
var displayArray = new Array();
var returnArray = new Array();
var queryStatement = "SELECT sgb_branch_nbr, business, branch_name FROM sgb_branch ORDER BY sgb_branch_nbr";
var maxReturnedRows = 400;
var dataset = databaseManager.getDataSetByQuery(controller.getServerName(),queryStatement,null,maxReturnedRows);
if (dataset)
{
var sgb_branch_nbr = dataset.getColumnAsArray(1);
var business = dataset.getColumnAsArray(2);
var branch_name = dataset.getColumnAsArray(3);
for( var i=0; i< sgb_branch_nbr.length; i++)
{
var branch_nbr = utils.stringRight("0000" + sgb_branch_nbr[i],4);
displayArray[i] = branch_nbr + "-" + business[i] + "-" + branch_name[i];
returnArray[i] = branch_nbr;
}
application.setValueListItems('sgbContactAccess', displayArray, returnArray );
}