小编bba*_*mer的帖子

使用循环将行添加到sqlite数据库(Phonegap)

我创建了一个小的Phonegap应用程序,通过XML从Ajax调用获取新闻数据.这很好,但我想将数据存储在数据库表中,以便离线阅读新闻.

因此,当Ajax回调循环遍历数据时,我用它填充一个全局新闻对象,然后调用一个函数来检查数据是否已经存储在数据库中.如果没有,则应将其插入数据库新闻表中.

问题是在事务中将新闻存储在表中,似乎我的新闻对象不再存在,因为我收到了消息:

未捕获的TypeError:无法读取未定义的属性'title'...

那么我怎样才能确保这项工作呢?这是我选择新闻的部分的代码,并想检查它是否已经存在:

//  Check if a news from the internet already exists in the database; If not, insert it
function checkNewsInDB(){
    db.transaction(function(tx){
        tx.executeSql("SELECT * FROM NEWS", [], checkSuccess, dbErrorCB);
    }, dbErrorCB, dbSuccessCB);
}

//  Result Callback from the News Check
function checkSuccess(ctx, result){
    var len = result.rows.length;
    var found = false;
    for(var n = 0; n < newsContainer.length; n++){
        for(var r = 0; r < len; r++){
            if(result.rows.item(r).n_title == newsContainer[n].title 
               && result.rows.item(r).n_pubdate == newsContainer[n].pubdate){
                found = r; …
Run Code Online (Sandbox Code Playgroud)

javascript sqlite android cordova

5
推荐指数
0
解决办法
5006
查看次数

标签 统计

android ×1

cordova ×1

javascript ×1

sqlite ×1