aardio - 【库】table表转内存数据库操作

import console; 
import godking.tableToDB

// 构造一个数据表
var tab = {fields={"姓名","年龄"}}
for(i=1;10;1){
    table.push(tab,{姓名='员工'++i;年龄=math.random(1,100)})
}
//创建内存数据库
var db = godking.tableToDB(tab,,"table");
var t = db.getTable("select * from [table] where 年龄>50 order by 年龄,姓名");
console.dump("界面线程访问的数据:",'\n',t,'\n')
//传入线程中进行访问
thread.invokeAndWait(
    function(db){
        import godking.tableToDB
        db = godking.tableToDB(db);
        var t = db.getTable("select * from [table] where 年龄>50 order by 年龄,姓名");
        import console
        console.dump("工作线程访问的数据:",'\n',t,'\n');
        db.insert({{姓名='光庆';年龄=18}});
    },db
)
//返回界面线程进行访问
var t = db.getTable("select * from [table] where 年龄=18");
console.dump("界面线程访问工作线程中插入的数据:",'\n',t,'\n')

//创建另外一个内存数据库,多个数据库并存,数据独立。
var tab = {fields={"姓名","年龄"}}
for(i=1;10;1){
    table.push(tab,{姓名='新员工'++i;年龄=math.random(10,20)})
}
var db1 = godking.tableToDB(tab,,"table");
var t = db1.getTable("select * from [table] order by 年龄,姓名");
console.dump("另外一个新的数据库:",'\n',t,'\n')

db.close();
db1.close();
console.pause(true);

各种table转内存数据库的方法

import console; 
import godking.tableToDB

// ============================================================
// 构造一个字典表
// ============================================================

// 创建方法1:直接指定字段表。
var 字段表 = {"姓名","年龄"};
var 字典型数据表,数组型数据表 = {},{};
for(i=1;5;1){
    table.push(字典型数据表,{姓名='字典员工'++i;年龄=math.random(1,100)})
    table.push(数组型数据表,{'数组员工'++i;math.random(1,100)})
}
var db = godking.tableToDB(,字段表,); //直接指定字段表。
db.insert(字典型数据表); // 支持插入字典型数据表,数据表中可不包含字段表。
db.insert(数组型数据表); // 支持插入数组型数据表。
console.dump(db.getTable())
db.close();

// 创建方法2:通过字典型数据表的fields成员指定字段表。
var 字典型数据表,数组型数据表 = {},{};
for(i=1;5;1){
    table.push(字典型数据表,{姓名='字典员工'++i;年龄=math.random(1,100)})
    table.push(数组型数据表,{'数组员工'++i;math.random(1,100)})
}
字典型数据表.fields = {"姓名","年龄"};
var db = godking.tableToDB(字典型数据表,,); //通过数据表指定。
db.insert(字典型数据表); // 支持插入字典型数据表,数据表中可不包含字段表。
db.insert(数组型数据表); // 支持插入数组型数据表。
console.dump(db.getTable())
db.close();

// 创建方法3:通过数组型数据表的fields成员指定字段表。
var 字典型数据表,数组型数据表 = {},{};
for(i=1;5;1){
    table.push(字典型数据表,{姓名='字典员工'++i;年龄=math.random(1,100)})
    table.push(数组型数据表,{'数组员工'++i;math.random(1,100)})
}
数组型数据表.fields = {"姓名","年龄"};
var db = godking.tableToDB(数组型数据表,,); //通过数据表指定。
db.insert(字典型数据表); // 支持插入字典型数据表,数据表中可不包含字段表。
db.insert(数组型数据表); // 支持插入数组型数据表。
console.dump(db.getTable())
db.close();

// 创建方法4:通过字典型数据表成员1的keys获取。
var 字典型数据表,数组型数据表 = {},{};
for(i=1;5;1){
    table.push(字典型数据表,{姓名='字典员工'++i;年龄=math.random(1,100)})
    table.push(数组型数据表,{'数组员工'++i;math.random(1,100)})
}
var db = godking.tableToDB(字典型数据表,,); 
// 将字典型数据表的成员1的keys设置为字段表,此时字段表已被aardio进行排序。
// 因为字段顺序并非设计时指定,所以不建议在这种情况下插入数组型数据表,以免数据错乱。
db.insert(字典型数据表); // 支持插入字典型数据表,数据表中可不包含字段表。
console.dump(db.getTable())
db.close();


// ============================================================
// 构造一个数组表
// ============================================================

// 创建方法1:通过数组型数据表的成员1的成员数量,自动生成"Fn"格式的字段表。
var 字典型数据表,数组型数据表 = {},{};
for(i=1;5;1){
    table.push(字典型数据表,{F1='字典员工'++i;F2=math.random(1,100)})
    table.push(数组型数据表,{'数组员工'++i;math.random(1,100)})
}
var db = godking.tableToDB(数组型数据表,,);
db.insert(字典型数据表); // 支持插入字典型数据表,但此时字段必须为"Fn"格式。
db.insert(数组型数据表); // 支持插入数组型数据表。
console.dump(db.getTable())
db.close();

// 创建方法2:通过指定字段数量,自动生成"Fn"格式的字段表。
var 字典型数据表,数组型数据表 = {},{};
for(i=1;5;1){
    table.push(字典型数据表,{F1='字典员工'++i;F2=math.random(1,100)})
    table.push(数组型数据表,{'数组员工'++i;math.random(1,100)})
}
var db = godking.tableToDB(,2,); //指定字段数量。
db.insert(字典型数据表); // 支持插入字典型数据表,但此时字段必须为"Fn"格式。
db.insert(数组型数据表); // 支持插入数组型数据表。
console.dump(db.getTable())
db.close();

console.pause(true);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值