当前模块插件ver:1.0.0.0版本 当前插件只封装了以下方法,后续更新新增更多方法!
var dbConfig = {
database:"test", // 数据库文件名称,【必须输入】
path:"", // 数据库所在路径,不传时使用默认创建的路径。支持 fs://、widget://等协议(如fs://user.db)自动创建的路径【可空】
table:"user_info", // 表昵称,可通过name、table方法动态切换。【可空】
prefix:'ipw_', // 数据库表前缀 name 方法不带前缀,table方法会带前缀【可空】
debug:true, // 是否输出报错信息,执行、查询报错信息,可通过try{}catch(error){} // 拦截错误输出【可空,默认:false】
print:true, // 打印SQL语句,如果为true每次执行、查询SQL都会console.log(SQL语句)【可空,默认:false】
};
var db = new Db(dbConfig);
var db = new Db({database:"test"});
db.setConfig(dbConfig); // 动态更改配置,支持上面的所有配置
db.setConfig( {print:true} ); // 动态更改配置,支持上面的所有配置
var dbobj = db.name("user_info"); // 无前缀方法,连接表 表名显示:user_info
var dbobj = db.table("user_info"); // 带前缀方法,连接表,表名显示:ipw_user_info
dbobj.hasTable(); //判断当前连接表是否存在,无参数
dbobj.create({}); // 根据当前连接表名称创建表,创建不一定先判断表存在,插件内自动判断,支持:json / string 参数
dbobj.create({},'test_table'); // 创建其他表
json参数格式:{键名:数据},例如:{id:"INTEGER PRIMARY KEY autoincrement"}
String参数格式: " id INTEGER PRIMARY KEY autoincrement,name TEXT NOT NULL"
var res = dbobj.create({
"id":"INTEGER PRIMARY KEY autoincrement",
"name":"TEXT NOT NULL",
"password":"CHAR(50)",
"money":"int"
});
if(res) alert("创建成功"); else alert("创建失败");
var res = dbobj.create("id INTEGER PRIMARY KEY autoincrement,name TEXT NOT NULL,password CHAR(50),money int");
if(res) alert("创建成功"); else alert("创建失败");
dbobj.where({ id:1 }).select(); // 返回数组形式[]
dbobj.where( "id",1 ).select(); // 返回数组形式[]
dbobj.select(); // 返回数组形式[]
支持多级连贯操作
dbobj.where( "id",1 ).order("id desc").limit(1,100).select();
dbobj.where( "id",1 ).find(); // 返回JSON
dbobj.where( "id",1 ).value("name");
dbobj.where( "id",1 ).update({
name:"6666"
});
dbobj.where( "id",1 ).setInc("price"); // 字段减1
dbobj.where( "id",1 ).setInc("price",100); // 字段减100
dbobj.where( "id",1 ).setDec("price"); // 字段加1
dbobj.where( "id",1 ).setDec("price",100); // 字段加100
dbobj.where( "id",1 ).delete(); // 根据当前条件删除
dbobj.delete(); // 删除当前表全部数据
dbobj.insert({
name:"www.ipwas.cn",
password:"123456"
});
dbobj.getInsertId(); // 获取插入数据的自增ID
dbobj.where( "id>0" ).order("id desc").select();
dbobj.where( "id>0" ).limit(0,10).select(); // 查询前面10条
db.query(); // 查询自定义SQL语句,必须输入一个完整的语句
db.exec(); // 执行自定义SQL语句,必须输入一个完整的语句
当配置参数【debug = true】时查询、执行中产生的错误我们可以可通过try{}catch(error){}拦截错误输出
例如:
try{
var db = new Db({database:"test"});
var result = db.name("user").where("test").select();
console.log( "查询数据返回:"+ JSON.stringify( result ) );
}catch(e){
console.log( "错误信息:"+e );
像上面产生的错误就会在这里执行,上面为什么会报错?因为where 条件里只有名称没有值
}