2015-09-28 86 views
1

我们可以一次向Adapter发送多个记录,也可以将对象发送到Adapter。 这里是样品适配器代码:IBM MobileFirst 7.0 - 适配器调用

var addStatement = WL.Server.createSQLStatement("insert into MSS (ENO,ENAME,ESALARY) values (?, ?, ?)"); 
function addSQLAdapterDemo(param0,param1,param2) { 
return WL.Server.invokeSQLStatement({ 
    preparedStatement : addStatement, 
    parameters : [param0,param1,param2] 
}); 

}

Main.js在客户端的JavaScript:

$('button#InsertData').on('click', function() { 
    var invocationData = { 
    adapter : 'SQLAdapterDemo', 
    procedure : 'addSQLAdapterDemo', 
    parameters : [5,'Raj',25000][6,'karan',25000], 
    compressResponse: true 
}; 
WL.Client.invokeProcedure(invocationData); 

在上面的代码中,我通过三门PARAMS可我们发送的数据是这样的。我们可以将对象发送给适配器。目标是有这三个参数。

+0

你是问,因为你的代码不能正常工作,或者是工作,但你所要求检查它是否是好的这样做呢?问题是什么? –

+0

@Idan Adar它不适合我。而且我也希望能够将对象发送给适配器。 –

+0

1)它是如何失败的?你遇到了什么错误? 2)定义“对象” –

回答

3

你可以试试这个代码:

/*--------------------------------- 
Adapter Code 
---------------------------------*/ 
var addStatement = WL.Server.createSQLStatement("insert into MSS (ENO,ENAME,ESALARY) values (?, ?, ?)"); 
function addSQLAdapterDemo(allRecords) { 

var oneRecord; 
for (var count = 0; count < allRecords.length; count++){ 

    oneRecord = allRecords[count]; 
    WL.Server.invokeSQLStatement({preparedStatement : addStatement,parameters : [oneRecord.id,oneRecord.name,oneRecord.salary]}); 

} 

/*--------------------------------- 
Client Code 
---------------------------------*/ 
$('button#InsertData').on('click', function() { 

/*Preparing JSON Array*/ 
    var allRecordJson = []; 
    allRecordJson.push({"id":"5", "name" : "Raj", "salary" : "25000"}); 
    allRecordJson.push({"id":"6", "name" : "Karan", "salary" : "20000"}); 
/*JSON Array Builded*/ 

    var invocationData = { 
    adapter : 'SQLAdapterDemo', 
    procedure : 'addSQLAdapterDemo', 
    parameters : [allRecordJson], 
    compressResponse: true 
}; 
WL.Client.invokeProcedure(invocationData); 
} 
+0

谢谢。它为我工作。 –

相关问题