| AppliBuilder
User Documentation |
You can execute a datasource in the server script (javascript or
jython). This is useful to reuse datasource.
create table TaskManager_Details(taskid integer, detail text);
create table TaskManager_Tasks(taskid integer_identity, projectid integer, primary key(taskid, projectid));
insert into TaskManager_Tasks(projectid) values(1);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project1_FirstTask');
insert into TaskManager_Tasks(projectid) values(1);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project1_SecondTask');
insert into TaskManager_Tasks(projectid) values(2);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project2_FirstTask');
insert into TaskManager_Tasks(projectid) values(2);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project2_SecondTask');
TaskManager.getTaskIdsForProject
var projectids = PARAM["projectids"];
SQLRESULT = QExecutor.executeSql("select taskid from TaskManager_Tasks where projectid in (?)", [projectids]);
TaskManager.getTaskDetailsById
var ids = PARAM["ids"]
SQLRESULT = QExecutor.executeSql("select * from TaskManager_Details where taskid in (?)", [ids]);
TaskManager.getProjectTaskDetails
taskidSqlresult = QExecutor.executeNQ("TaskManager.getTaskIdsForProject", PARAM);
function getTaskIds(sqlresult) {
var taskids = new Array();
var resultset = sqlresult.getResultSet();
while(resultset.next()) {
taskids.push(resultset.getInt("taskid"));
}
return taskids;
}
var idsMap = { "ids" : getTaskIds(taskidSqlresult) };
SQLRESULT = QExecutor.executeNQ("TaskManager.getTaskDetailsById", idsMap);
In the above example, TaskManager.getProjectTaskDetails, executes two more named query by passing suitable parameters as map and filters the result.
| ©
2006 Applibase, Inc. |