0

「タスク」の値を持つテーブルに「タスク」を挿入する次のコードがあります。このステートメントを変更して複数の値を複数の列に挿入しようとしていますが、形式に慣れていないため、機能しないようです。

複数の値を挿入するようにを変更する方法を誰かに教えてもらえますか?

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

どうもありがとう。

4

3 に答える 3

2

ある種のライブラリを使用しているかどうかはわかりませんが、SQLiteへの標準のWeb SQLインターフェイスを使用している場合、2番目の引数は値の配列であり、オブジェクトではありません。したがって、コードは次のようになります

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 に答える
2

このMySQLにタグを付けるつもりはなかったと思います。

ただし、EnyoDBクエリを支援するための便利なクラスは次のとおりです。

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

1つのクレヨンの実装。Enyoにとって非常にうまく機能します。

于 2011-07-26T15:38:21.303 に答える
1

このJavaScriptが実際に何をしているのかわからないと、この質問に答えるのは難しくなりますが、SQLクエリの複数のフィールドに値を挿入するための構文は次のようになります。

INSERT INTO tableNamecol1col2coln)VALUES(val1val2valn

完全な知識に基づいた推測として、私はあなたが探していると言うでしょう

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

「?」ごとに valuesSQLクエリでは、配列に別のパラメータが必要になります。

于 2011-07-26T14:46:40.693 に答える