sj.sjk 数据库操作
2022-12-22 15:27:22 最后更新
用法:
//连接一个私有数据库,如果不存在将自动新建
//输入数据库文件名
s sjk = sj.sjk("iapp.db")

//连接一个公共数据库,如果不存在将自动新建
//输入数据库文件名
s sjk2 = sj.sjk("%iapp.db")

// 获取数据库对象
s sjk3 = sjk.sjk

// 获取数据库是否为新建的
s sjk5 = sjk.xj

// 删除数据库
s sjk6 = sjk.scsjk()

// 释放数据库
s sjk7 = sjk.sfsjk()

// 创建 info 数据表
s table = "_id integer primary key,url text, filename text,status interger"
s sjk8 = sjk.cjsjb("info", table)

// 判断 info 数据表 是否存在
s sjk9 = sjk.czsjb("info")

// 删除 info 数据表
s sjk10 = sjk.scsjb("info")

//在 info 数据表 添加一条数据
// 数据列名
s table = "url,filename,status"
// 对应数据
s data = "'http://abc.com/abc.apk', 'abc.apk', 1"
s sjk11 = sjk.cjsj("info", table, data)

//在 info 数据表 更新数据,若不需要设置条件(_id=1)可设为 null 视为适用于执行所以数据
s sjk12 = sjk.gxsj("info", "status=2", "_id=1")

//在 info 数据表 删除数据,若不需要设置条件(_id=1)可设为 null 视为适用于执行所以数据
s sjk13 = sjk.scsj("info", "_id=1")

//在 info 数据表 查询数据
//查询,若不需要设置条件(status=1 order by _id desc LIMIT 0,1)可设为 null 视为适用于执行所以数据
// LIMIT <跳过的数据数目>, <取数据数目>
s table = "_id,url,filename,status"
s sqlx = "status=1 order by _id desc LIMIT 0,1"
s sjk15 = sjk.cxsj("info", table, sqlx)

//自定义sql查询
s sqlx = "select _id,url,filename,status from info where status=1 order by _id desc"
s sjk16 = sjk.cxsj(sqlx)

// 循环打印数据
xh sjk15.xyh()
{
// 输出 第一列数据, 第二列数据
gj.sc(":" + sjk15.sj(0)+ ", " + sjk15.sj(1));
}

// 更多操作

//获取光标对象的第一列数据
s sj1 = sjk15.sj(0)

//获取光标对象有多少列
s sj2 = sjk15.cxls()

//获取总共查询到多少行数据
s sj3 = sjk15.cxhs()

//光标对象移到下一行数据
s sj5 = sjk15.xyh()

//光标对象移到上一行数据
s sj6 = sjk15.syh()

//光标对象移到第一行数据
s sj7 = sjk15.dyh()

//光标对象移到最后第一行数据
s sj8 = sjk15.zhyh()

//光标对象移到指定第3条数据
s sj9 = sjk15.zdwz(2)

//获取光标对象当前位置
s sj10 = sjk15.hqwz()

//释放数据查询
s sj11 = sjk15.sf()

//自定义的sql执行,需要对sql语法了解才能灵活运用
s sqlx = "insert into info (url,filename,status) values ('http://abc.com/abc.apk', 'abc.apk', 1)"
s sjk17 = sjk.cxsj(sqlx)

注意:
在执行sql语句的时候,需要注意你的字符串的特殊字符的转义。
     /   ->    //
     '   ->    ''
     [   ->    /[
     ]   ->    /]
     %   ->    /%
     &   ->    /&
     _   ->    /_
     (   ->    /(
     )   ->    /)