mmqq834533 2014-07-03 08:50
浏览 1089

Javascript操作SQLite中的函数执行问题

首先是现有的问题描述——
当前流程
我通过Ajax取到一组数据,然后在Ajax的回调函数中,操作SQLite,如果本地数据库中(通过ID查找)没有这组数据,就Insert;如果有,就更新本地数据库里的条目。
存在问题
我的Insert方法是可以正常运行的。但是Update方法就会在实际运行时直接被跳过。
核心代码如下

db.transaction(function(con){
        con.executeSql('SELECT * FROM ' + uname + ' WHERE appid=' + APP_ID,[],function(con,res){
            if(res.rows.length <= 0){//如果有数据
                addData(uname, APP_ID, 1, 0, APP_NAME_CN, ICON_PATH, VERSION, APP_COMPANY, ACTIVITY.toLowerCase());}
            else{//没有数据
                isDown = (res.rows.item(0).isDown == 1);
                sql = 'UPDATE ' + uname + ' SET name = "' + APP_NAME_CN + '",icon = "' + ICON_PATH + '", ver = ' + VERSION + ', comp = "' + APP_COMPANY + '", schemeUrl = "' + ACTIVITY.toLowerCase() + '" WHERE appid = ' + APP_ID;
                db.transaction(function(con1){
                    con1.executeSql(sql,function(con2,res2){
                        alert("!")
                    },function(con3,error3){
                        alert("添加数据出错!")
                    })
                });
//                updateData(uname, APP_ID,APP_NAME_CN, ICON_PATH, VERSION, APP_COMPANY, ACTIVITY.toLowerCase());//这是原有的函数,被我拉到这个文件中了
            }
        })
    });``` 
**另外**
整个项目是用原生代码写的,不能使用框架和其他引用。
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 在若依框架下实现人脸识别
    • ¥15 网络科学导论,网络控制
    • ¥100 安卓tv程序连接SQLSERVER2008问题
    • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
    • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
    • ¥15 关于arduino编程toCharArray()函数的使用
    • ¥100 vc++混合CEF采用CLR方式编译报错
    • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
    • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
    • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同