请下载最新版,已升级支持多线程访问同一数据库。
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);
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);