猫史档案馆


[干活]MBS V1.0

用户:不知道该叫啥的一只萌新不知道该叫啥的一只萌新查看:0 回复:1 评论:0 创建时间:2021-05-16T20:04:29


MBS=my binary sql

可以做到保存任何Object

代码:

function strToBinary(str){var result=[];var list=str.split("");for(var i=0;i<list.length;i++){if(i!=0){result.push(" ")}var item=list[i];var binaryStr=item.charCodeAt().toString(2);result.push(binaryStr)}return result.join("")}function binaryToStr(str){var result=[];var list=str.split(" ");for(var i=0;i<list.length;i++){var item=list[i];var asciiCode=parseInt(item,2);var charValue=String.fromCharCode(asciiCode);result.push(charValue)}return result.join("")}class mbs{constructor(name,debug_mode=false){Object.defineProperty(this,"name",{value:name,writable:false})this._creat=async()=>{await db.sql`CREATE TABLE IF NOT EXISTS ${name}(index VARCHAR(50)NOT NULL,data TEXT NOT NULL)`}this._debug=debug_mode this.raise=(e)=>{if(this.debug_mode){return new Error(`mbs Error:${e}`)}else{console.error(e)}}try{this._creat()}catch(e){this.raise(e)}this.insert=async(index,data)=>{var data=strToBinary(JSON.stringify(data))try{await db.sql`INSERT INTO ${this.name}VALUES(${index},${data})`}catch(e){this.raise(e)return}return"ok"}this.select=async(index="")=>{if(index=="")return await db.sql`SELECT*FROM ${this.name}`return await db.sql`SELECT*FROM ${this.name}WHERE index=${index}`}this.custom=async(code)=>{await db.sql`${code}`}}}module.export=mbs

然后在编辑器中新建一个JS文件 (打开代码编辑器,点击上面的"+")

然后把新建的文件重命名成'mbs' (右键编辑器上方的"script_01.js",然后点击"重命名")

把上面的代码粘贴进去 (可能会卡一会,耐心等待)

 

然后回到主程序(index.js)

输入下面的代码

var mbs = require('./mbs.js');
var sql0 = new mbs(name,debug_mode=false)

name是这个数据库的名称,debug_mode估计你用不到,直接填false

 

做的比较匆忙 只做了SELECT和INSERT的

用法:

//假设刚才的name是a

sql0.insert(index,data)//index是索引,data是数据
sql0.select()//获取数据表全部数据
sql0.select(index="XXX")//获取索引为XXX的数据
sql0.custom("XXX")//执行XXX

如果在使用的时候遇到莫名其妙的报错请回帖


回复

上一页1 页 / 共 1下一页
不知道该叫啥的一只萌新不知道该叫啥的一只萌新

题目的[干活]打错了 应为[干货]

点赞0


评论