Как заполнить параметр в $ cordovaSQLite как мой собственный массив

#javascript #angularjs #sqlite #ionic-framework

#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

                         };
  

Чтобы я мог манипулировать данными в будущем. Как я могу это сделать?

Ответ №1:

Будьте осторожны с именами переменных. Имя вашего объекта параметра — qst_master_cotent. Это должно быть так:

 $cordovaSQLite.execute(db, query, qst_master_cotent)
  

Ответ №2:

Используйте этот фрагмент кода

        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() {

        }
  

Спасибо

Комментарии:

1. Я знал это, я имел в виду, что мне нужен мой собственный массив, как в вопросе.

2. возможно, у вас возникает проблема, потому что его объект пары (ключ, значение)

3. Да, но это единственный способ для массива параметров, например [1,2,3, ..]?

4. Ваша проблема заключается в предположении, что это так . Позвольте мне попробовать

5. каким образом вы используете объект, а не массив 🙂