From e73f56ba33b4af99807c2f132ed72620281b140c Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 28 Jan 2026 18:23:44 +0800 Subject: [PATCH] bugfix --- kdb/sqlor.py | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/kdb/sqlor.py b/kdb/sqlor.py index 09da253..d39f4ef 100644 --- a/kdb/sqlor.py +++ b/kdb/sqlor.py @@ -24,12 +24,46 @@ async def sqlor_op(): env = ServerEnv() dbname = env.get_module_dbname() async with db.sqlorContext(dbname) as sor: - id = env.uuid() # 事务中,如果代码或sql失败全部滚回,正常结束自动提交 + + id = env.uuid() + # 执行SQL返回记录数组 + sql="select * from user where name = ${name}$ and gender = ${gender}$" + ns = {'name': 'Make', 'gender': '0'} + recs = await sor.sqlExe(sql, ns) + ## recs为[]或返回的记录数组 + + # 执行SQL返回分页数据 + sql="select * from user where name = ${name}$ and gender = ${gender}$" + ns = {'name': 'Make', 'gender': '0', 'page': 2} + recs = await sor.sqlExe(sql, ns) + ## recs是一个DictObject对象实例,转字典为:{ + "total": 12222, + "rows": [ ... ] + } + + # 执行其他DML,DDL语句 + sql = "update user set gender=${gender}$ where name=${name}$" + ns = {'name': 'Make', 'gender': '0', 'page': 2} + ret = await sor.sqlExe(sql, ns) + ## 返回修改记录数 + + # CRUD,对单表操作的简单方式 + + # 添加数据 await sor.C('user', {'id':id, 'username':'john'}) - # 添加数据表“user”数据 + ## 添加数据表“user”数据 + + # 删除数据,只从ns中提取id字段,根据id删除记录 await sor.D('user', {'id': 'yuewfiuwe'}) + + # 修改数据,ns中的id保存不变,其他给定的值为数据修改后的值 # await sor.U('user', {'id', 'email':'test@abc.com'}) + + # 查询数据,返回满足ns条件的全部记录数组 # await sor.R('user', {'id': 'yuewfiuwe'}) - return subcoro(sor, 'test_data') + + # 查询数据, 返回满足条件的参数“page”页的数据 + ns={'gender':'1', 'page': 3, 'pagerows': 100} # pagerows 缺省80 + return await subcoro(sor, 'test_data') ```