在数据库中插入值 [英] Insertion of values in database

查看:105
本文介绍了在数据库中插入值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿我正在使用IBM Worklight V6.2。我想将值插入数据库

Hey I am using IBM Worklight V6.2.I want to insert values into database

我的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");

}

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

I am able to invoke procedure from adapter..but not able to see when i insert values in browser.not it is showing anything in console..Kindly suggest...

推荐答案

你不能简单地将输入 ID s作为 WL.client。 invokeProcedure 的参数......你需要传递它们的值。

You can't simply place the IDs of your inputs as the WL.client.invokeProcedure's parameters... You need to pass their value.

例如:

function loadFeeds1(){
    var invocationData = {
        adapter:"car2",
        procedure:"getuser",
        parameters:[$('#carnum').val(),$('#details').val()]
    };

    WL.Server.invokeProcedure(invocationData,{
        onSuccess :loadFeedsSuccess1,
        onFailure :loadFeedsFailure1,
    });
}






这是一个结束 - 到最后的场景,我从HTML中取2个值并将它们插入到数据库中。要重新创建,可以使用适配器示例项目。您可以看到它有效,因为在成功之后,如果您要刷新数据库 - 您将看到新记录。


This is an end-to-end scenario, where I take 2 values from the HTML and insert them into the database. To re-create, you can you use the WorklightTraining.sql scheme provided in the Adapters sample project. You can see it works because after the 'success', if you will refresh the database - you'll see the new record.

HTML:

<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();"/>

main.js:

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");
}

适配器XML:

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

适配器实施:

var insertValuesProcedureStatement = WL.Server.createSQLStatement("INSERT INTO users(userId, firstName, lastName, password) VALUES (?,?, 'someLastName', 'somePassword')");

function insertValuesProcedure(value1,value2) {
    return WL.Server.invokeSQLStatement({
        preparedStatement : insertValuesProcedureStatement,
        parameters : [value1,value2]
    });
}

这篇关于在数据库中插入值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆