#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. каким образом вы используете объект, а не массив 🙂