如何在$ cordovaSQLite中填充参数作为我自己的数组

时间:2016-10-20 09:51:13

标签: javascript angularjs sqlite ionic-framework

我使用此代码执行$cordovaSQLite插入。

var qst_master_content_data= {
                             qst_cnt_id :content.qst_cnt_id,
                             question_id :content.question_id,
                             qst_cnt_text :content.qst_cnt_text,
                             qst_cnt_options :content.qst_cnt_options,
                             qst_story:content.qst_story,
                             explanation :content.explanation,
                             lang_id :content.lang_id,
                             img_id :content.img_id,
                             dt_update :content.dt_update

                         };
var query = "INSERT INTO qst_master_content ( "+
                                "qst_cnt_id, "+
                                "question_id, "+
                                "qst_cnt_text, "+
                                "qst_cnt_options, "+
                                "qst_story, "+
                                "explanation, "+
                                "lang_id, "+
                                "img_id, "+
                                "dt_update "+
                                ") VALUES (?,?,?,?,?,?,?,?,?)";
                    $cordovaSQLite.execute(db, query, qst_master_content_data).then(function(res)
                    {
                        console.log(res);
                    },
                    function(err)
                    {
                        console.log(err);
                    }

不幸的是插入没有成功插入。 我试图使用qst_master_cotent = [1,2,3];然后就可以了。 但这并不能使我的代码在该格式上重用。它应该是:

var qst_master_content_data= {
                             qst_cnt_id :content.qst_cnt_id,
                             question_id :content.question_id,
                             qst_cnt_text :content.qst_cnt_text,
                             qst_cnt_options :content.qst_cnt_options,
                             qst_story:content.qst_story,
                             explanation :content.explanation,
                             lang_id :content.lang_id,
                             img_id :content.img_id,
                             dt_update :content.dt_update

                         };

这样我以后就可以操纵数据了。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

注意变量名称。您的参数对象名称是qst_master_cotent。 它应该是这样的:

$cordovaSQLite.execute(db, query, qst_master_cotent)

答案 1 :(得分:0)

使用这段代码

       var db = window.sqlitePlugin.openDatabase({
                name: "your.db"
            });
            db.transaction(populateClientDB, error, success);

        function populateClientDB(tx) {
            tx.executeSql("INSERT INTO qst_master_content (qst_cnt_id, question_id, qst_cnt_text, qst_cnt_options, qst_story, explanation, lang_id, img_id, dt_update) \n\
                     VALUES (?,?,?,?,?,?,?,?,?)", [qst_master_cotent.qst_cnt_id, qst_master_cotent.question_id, qst_master_cotent.qst_cnt_text, qst_master_cotent.qst_cnt_options, qst_master_cotent.qst_story, qst_master_cotent.explanation, qst_master_cotent.lang_id, qst_master_cotent.img_id, qst_master_cotent.dt_update], function(tx, res) {
                console.log("insertId: " + res.insertId + " -- probably 1");
                console.log("rowsAffected: " + res.rowsAffected + " -- should be 1");
            });
        }

        function error(error) {
            console.log(error);
        }

        function success() {

        }

由于