javascript封装的sqlite操作类实例
本文实例讲述了javascript封装的sqlite操作类。分享给大家供大家参考。具体如下:
functionsql(name,v,desc,size,tables){ this.db=null; this.name=name; this.v=v; this.desc=desc; this.size=size; this.tables=tables; this.ini(); } sql.prototype.ini=function(){ varself=this; self.db=openDatabase(self.name,self.v,self.desc,self.size); self.db.transaction(function(tx){ self.tables.forEach(function(s){ tx.executeSql(s,[]); }); }); }; sql.prototype.query=function(sql,opt,rs,err){ varopt=opt||[]; varrs=rs||function(){}; varerr=err||function(tx,e){G.alert(e.message);}; this.db.transaction(function(tx){ if(typeof(sql)=='object'){ sql.forEach(function(s){ tx.executeSql(s,opt,rs,err); }); }else{ tx.executeSql(sql,opt,rs,err); } }); };
demo:
vartbs=[ 'CREATETABLEIFNOTEXISTScfrids(idvarchar(32)PRIMARYKEY,jfsINT,jfxvarchar(64),jxxTEXT,ctINT,uinfoTEXT,jiaINT,ztINT,bzvarchar(16),yueINT)', 'CREATEINDEXIFNOTEXISTSct_aONcfrids(ct)', 'CREATETABLEIFNOTEXISTScliao(idvarchar(32)PRIMARYKEY,uidvarchar(32),nrTEXT,ctINT,tyvarchar(8),ismyINT)', 'CREATEINDEXIFNOTEXISTSuid_aONcliao(uid)', 'CREATETABLEIFNOTEXISTSczliao(idvarchar(32)PRIMARYKEY,nrTEXT,tyvarchar(8),ctINT,numINT)']; vardb=newsql('imdata'+z,'1.0','userdata',1048576,tbs); db.query('insertintocliao(id,uid,nr,ct,ty,ismy)values(?,?,?,?,?,?)',['afasdf','asdfa','saadf','eeee','rrrr',1]); db.query('select*fromcliaowhereuid=?orderbyctdesclimit?,10',['22',50],function(tx,rs){ varl=rs.rows.length; });
希望本文所述对大家的javascript程序设计有所帮助。