首页 > 技术文章 > JS 获取web sql 数据

nb08611033 2018-01-11 13:41 原文

var tbName="tableName";
var tdName=["id","th1","th2","th3"];
var strSQL="select * from "+tbName+" where id="+1;
//从web sql数据库获取数据;
function getWebSqlData(strSQL,tbName,tdName){
    db = openDB();
    if(db){
        db.transaction(function(tr) {
            tr.executeSql(strSQL,[],
                function(tr,re){
                    if(re.rows.length>0){
                        var arrTb=[];
                        //取得数据表每一行的数据
                        for(var intR=0;intR<re.rows.length;intR++){
                            //取得一行中每一项的数据
                            var intA=0;
                            var arrTd=[];
                            for(intA in tdName){
                                var tdValue=re.rows.item(intR)[tdName[intA]];
                                arrTd[intA]=tdValue;
                            }
                            arrTb[intR]=arrTd;
                        }
                    }else{
                        console.log(tbName+"表读取失败,数据表中无数据=>无法生成数据。");
                    }
                },
                //SQL语句出错时执行
                function(tr,er){
                    console.log("对"+tbName+"表执行失败,错误提示>"+er.message);
            });
        });
    }
}
//初始化
var db = null;
var dbName = "mydb"; //数据库名  
var version = "1.0"; //版本数据  
var description = "Test DB"; //描述  
var maxSize = 1024 * 1024 * 1024; //最大值
 
//打开or连接web sql数据库  
function openDB() {  
    try {  
        if (!db) {  
                db = openDatabase(dbName,version,description,maxSize);
                if(!db){
                    alert('你的浏览器不支持HTML web SQL本地数据库!');
                    return ;
                }
            }  
        } catch (e) {  
            db = null;  
        }
    return db;
}

 

推荐阅读