0

我有以下代码将“任务”插入到具有“任务”值的表中。我正在尝试修改此语句以将多个值插入到多个列中,但由于我不熟悉该格式,我似乎无法让它工作。

有人可以告诉我如何修改以插入多个值吗?

var item  = this.$.newItem.getValue();
this.$.db.query( 'INSERT INTO tasks ( task ) VALUES ( ? )', { values: [ item ] } ); 

非常感谢。

4

3 回答 3

2

我假设你不是要标记这个 MySQL....

但是 - 帮助处理 Enyo DB 查询的有用类是:

https://github.com/onecrayon/database-webos

一支蜡笔的实现。非常适合 Enyo。

于 2011-07-26T15:38:21.303 回答
2

我不确定您是否使用某种库,但如果您使用 SQLite 的标准 Web SQL 接口,则第二个参数是一个值数组,而不是您拥有的对象。所以代码看起来更像

db.transaction(
    function (transaction) {
        transaction.executeSql(
                "INSERT OR IGNORE INTO contact (contactId, nameG, nameF, orgContactId, accountId) VALUES (?, ?, ?, ?, ?)",
                [contact.contactId, contact.nameG, contact.nameF, contact.orgContactId, contact.accountId],
                function (transaction, resultSet) {   // SQL INSERT statement success
                    // do something now that the item has been saved
                },   // end statement success callback
                function (transaction, sqlError) {   // statement fail
                    // report failed operation
                    return true;   // abort transaction
                }
        );
    }   // end transaction function
    // no transaction callbacks
);   // end transaction call
于 2011-07-26T15:49:34.507 回答
1

不知道这个 javascript 实际上在做什么使得很难回答这个问题,但足以说明在 sql 查询中将值插入多个字段的语法如下

插入表名col1col2coln)值(val1val2valn

作为一个完全有根据的猜测,我会说你正在寻找

this.$.db.query( 'INSERT INTO tasks ( task, some_other_field ) VALUES ( ?,? )', { values: [ item, some_other_input ] } ); 

对于每个“?” 在您的 sql 查询中,您将需要values数组中的另一个参数。

于 2011-07-26T14:46:40.693 回答