vue中 websql

新建一個weqsl.js文件? mian.js中添加import Websqldbfrom './assets/js/websql' ;Vue.use(Websqldb)

關(guān)于wesql有一個蛋疼的地方就是,你在vue頁面中無法獲得weqsl中定義操作數(shù)據(jù)庫方法return的數(shù)據(jù)

當(dāng)然 node.js中也是一樣,,所以,,只能用promise中reslove操作了,至少本人這樣認(rèn)為滴


main.js中如下

export default {

install(Vue){

var dbname='websql';/*數(shù)據(jù)庫名*/

? ? var version ='1.0'; /*數(shù)據(jù)庫版本*/

? ? var dbdesc ='websql'; /*數(shù)據(jù)庫描述*/

? ? var dbsize =2*1024*1024; /*數(shù)據(jù)庫大小*/

? ? var dataBase =null; /*暫存數(shù)據(jù)庫對象*/

/*數(shù)據(jù)庫中的表單名*/

? ? var websqlTable ="websqlTable";

? ? //drop table friend 刪除表

//打開數(shù)據(jù)庫

? ? dataBase = window.openDatabase(dbname, version, dbdesc, dbsize,function() {});

}

Vue.prototype.websqlOpenDB=function () {

console.log("數(shù)據(jù)庫打開成功")

return dataBase;

}

//

這里添加操作數(shù)據(jù)庫的方法

}


關(guān)于操作websql數(shù)據(jù)庫,嗯,,時間久遠(yuǎn),不知道理解的對不對,那就在我的代碼里復(fù)制吧

//新建firend表

Vue.prototype.frienddbbcreat=function () {

var tableName="friend"+localStorage.getItem("userid")

var creatTableSQL ='CREATE TABLE IF? NOT EXISTS '+ tableName +' (userid number,text text,time text,type text,photo text,name text,PRIMARY KEY (`userid`))';

? dataBase.transaction(function (ctx,result) {

ctx.executeSql(creatTableSQL,[],function(ctx,result){

console.log("表創(chuàng)建成功 " + tableName);

? ? },function(tx, error){

console.log('創(chuàng)建表失敗:' + tableName + error.message);

? ? });

? });

};


//friend表插入數(shù)據(jù)

Vue.prototype.frienddbinsert=function (obj) {

var tableName="friend"+localStorage.getItem("userid");

? var insterTableSQL ='INSERT INTO ' + tableName +' (userid,text,time,type,photo,name) VALUES (?,?,?,?,?,?)';

? dataBase.transaction(function (ctx) {

ctx.executeSql(insterTableSQL,[obj.userid,obj.text,obj.time,obj.type,obj.photo,obj.name],function (ctx,result){

console.log("插入" + tableName? +"成功");

? ? ? },

? ? ? function (tx, error) {

console.log('插入'+ tableName? +'失敗: ' + error.message);

? ? ? });

? });

};

//friend表更新數(shù)據(jù)1

Vue.prototype.frienddbupdate=function (obj) {

var tableName="friend"+localStorage.getItem("userid")

var sql ='UPDATE ' + tableName +' SET text = ? ,time = ?, type = ?? WHERE userid = ?';

? dataBase.transaction(function (ctx,result) {

ctx.executeSql(sql,[obj.text,obj.time,obj.type,obj.userid],function(ctx,result){

console.log("更新成功 " + tableName + name);

? ? },function(tx, error){

console.log('更新失敗:' + tableName? + name + error.message);

? ? });

? });

};


//通過userid從chat表獲取數(shù)據(jù)

Vue.prototype.chatget=function (userid) {

var tableName="chat"+localStorage.getItem("userid");

? var sql ='SELECT * FROM ' + tableName +' WHERE send = ?? OR? receive = ? order by time asc'

? var pp =new Promise(function (resolve,reject) {

dataBase.transaction(function (ctx) {

ctx.executeSql(sql,[userid,userid],function (ctx,result){

resolve(result)

},

? ? ? ? function (tx, error) {

console.log('chatget查詢失敗: ' + error.message);

? ? ? ? ? reject(error)

});

? ? });

? });

? return pp

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,921評論 0 13
  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,876評論 0 3
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計架構(gòu)和**解決方案**。> > 庫(lib...
    Rui_bdad閱讀 3,155評論 1 4
  • 本文是lhyt本人原創(chuàng),希望用通俗易懂的方法來理解一些細(xì)節(jié)和難點。轉(zhuǎn)載時請注明出處。文章最早出現(xiàn)于本人github...
    lhyt閱讀 2,299評論 0 4
  • 自從學(xué)會曲徑通幽后,下了好幾部電影來看。繼續(xù)講香港電影。這次要講的是一部未在國內(nèi)公開上演的驚悚懸疑三級片《踏血尋梅...
    俗世迷途小書僮閱讀 231評論 0 0

友情鏈接更多精彩內(nèi)容