嘿我正在使用IBM Worklight V6.2。我想将值插入数据库
我的Html代码
<h1>Please Enter The Car Details</h1>
<form >
Car No:<input type="number" id="carnum" placeholder="Please enter your no" ><br><br>
Details:<input type="text" id= "details" placeholder="Please enter car details" > <br><br>
<input type="submit" value="Register" onclick="loadFeeds1()">
</form>
我的程序是:
var users = WL.Server.createSQLStatement("insert into car(carno,details) values (?,?)");
function getusers(carno,details) {
return WL.Server.invokeSQLStatement({
preparedStatement : users,
parameters : [carno,details]
});
}
我的js文件就是这个
function loadFeeds1(){
var invocationData = {
adapter:"car2",
procedure:"getuser",
parameters:["carno","details"]
};
WL.Server.invokeProcedure(invocationData,{
onSuccess :loadFeedsSuccess1,
onFailure :loadFeedsFailure1,
});
}
function loadFeedsSuccess1() {
WL.Logger.debug("inserted");
}
function loadFeedsFailure1() {
WL.Logger.debug("failed");
}
我可以从适配器调用过程..但是无法看到我何时在浏览器中插入值。不是它在控制台中显示任何内容。建议......
答案 0 :(得分:1)
您不能简单地将ID
的{{1}}作为input
的参数...您需要传递其值。< / p>
例如:
WL.client.invokeProcedure
这是一个端到端的场景,我从HTML中获取2个值并将它们插入到数据库中。要重新创建,您可以使用Adapters sample project中提供的WorklightTraining.sql方案。您可以看到它有效,因为在“成功”之后,如果您要刷新数据库 - 您将看到新记录。
<强> HTML:强>
function loadFeeds1(){
var invocationData = {
adapter:"car2",
procedure:"getuser",
parameters:[$('#carnum').val(),$('#details').val()]
};
WL.Server.invokeProcedure(invocationData,{
onSuccess :loadFeedsSuccess1,
onFailure :loadFeedsFailure1,
});
}
<强> main.js:强>
<h1>Test Insert Into Database</h1>
<input type="text" id="value1" placeholder="value1"/><br/>
<input type="text" id="value2" placeholder="value2"/><br/>
<input type="button" value="Insert values to database" onclick="insertValuesToDB();"/>
适配器XML:
function insertValuesToDB() {
var invocationData = {
adapter: 'insertValuesAdapter',
procedure: 'insertValuesProcedure',
parameters: [$('#value1').val(), $('#value2').val()]
};
WL.Client.invokeProcedure(invocationData, {onSuccess: insertSuccess, onFailure: insertFailure});
}
function insertSuccess() {
alert("success");
}
function insertFailure() {
alert("failure");
}
适配器实施:
...
...
<connectivity>
<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
<dataSourceDefinition>
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://localhost:3306/worklight_training</url>
<user>Worklight</user>
<password>Worklight</password>
</dataSourceDefinition>
</connectionPolicy>
<loadConstraints maxConcurrentConnectionsPerNode="5" />
</connectivity>
<procedure name="insertValuesProcedure"/>
...
...