在数据库中插入值

时间:2014-08-06 15:02:28

标签: ibm-mobilefirst worklight-adapters

嘿我正在使用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");

}

我可以从适配器调用过程..但是无法看到我何时在浏览器中插入值。不是它在控制台中显示任何内容。建议......

1 个答案:

答案 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"/>
...
...