|
|
发表于 2026-7-30 23:53:16
|
显示全部楼层
重庆市重庆市
开始运行被调试程序
* “删除操作前的数据库状态”
* “原始数据 -> ID: [1] | 姓名: 张三”
* “原始数据 -> ID: [2] | 姓名: 李四”
* “原始数据 -> ID: [6] | 姓名: 王五”
* “原始数据 -> ID: [7] | 姓名: 赵六”
* “原始数据 -> ID: [11] | 姓名: 孙七”
* “删除并重排后的数据库状态”
* “重排后数据 -> ID: [1] | 姓名: 张三”
* “重排后数据 -> ID: [2] | 姓名: 王五”
* “重排后数据 -> ID: [3] | 姓名: 赵六”
* “重排后数据 -> ID: [4] | 姓名: 孙七”
被调试易程序运行完毕
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 局_数据库 | Sqlite数据库 | | | | 局_数据库路径 | 文本型 | | | | 局_执行状态 | 逻辑型 | | | | 局_记录集 | Sqlite记录集 | | | | 局_id | 文本型 | | | | 局_name | 文本型 | | |
局_数据库路径 = 取运行目录 () + “\test_demo.db”局_执行状态 = 局_数据库. 打开 (局_数据库路径, 真) 如果真 (局_执行状态 = 假) 返回 ()局_数据库.执行SQL语句 (“DROP TABLE IF EXISTS user_table;”)局_数据库. 执行SQL语句 (“CREATE TABLE user_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);”)局_数据库. 执行SQL语句 (“INSERT INTO user_table (id, name) VALUES (1, '张三');”)局_数据库. 执行SQL语句 (“INSERT INTO user_table (id, name) VALUES (2, '李四');”)局_数据库. 执行SQL语句 (“INSERT INTO user_table (id, name) VALUES (6, '王五');”)局_数据库. 执行SQL语句 (“INSERT INTO user_table (id, name) VALUES (7, '赵六');”)局_数据库. 执行SQL语句 (“INSERT INTO user_table (id, name) VALUES (11, '孙七');”)调试输出 (“删除操作前的数据库状态”)局_记录集 = 局_数据库. 取记录集 (“SELECT * FROM user_table ORDER BY id ASC;”)局_记录集. 打开 () 判断循环首 (局_记录集. 到下一记录 () = 真) 局_id = 局_记录集. 读字段文本值 (“id”, ) 局_name = 局_记录集. 读字段文本值 (“name”, ) 调试输出 (“原始数据 -> ID: [” + 局_id + “] | 姓名: ” + 局_name ) 判断循环尾 ()局_记录集. 关闭 ()数据库_删除并重排ID (局_数据库, “user_table”, 2 )调试输出 (“删除并重排后的数据库状态”)局_记录集 = 局_数据库. 取记录集 (“SELECT * FROM user_table ORDER BY id ASC;”)局_记录集. 打开 () 判断循环首 (局_记录集. 到下一记录 () = 真) 局_id = 局_记录集. 读字段文本值 (“id”, ) 局_name = 局_记录集. 读字段文本值 (“name”, ) 调试输出 (“重排后数据 -> ID: [” + 局_id + “] | 姓名: ” + 局_name ) 判断循环尾 ()局_记录集. 关闭 ()局_数据库. 关闭 ()|
| 数据库_删除并重排ID | 逻辑型 | | |
| 参数_数据库 | Sqlite数据库 | | | | 参数_表名 | 文本型 | | | | 参数_删除的ID | 整数型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 局_SQL_删除 | 文本型 | | | | 局_执行状态 | 逻辑型 | | | | 局_记录集 | Sqlite记录集 | | | | 局_新序号 | 整数型 | | | | 局_旧ID | 文本型 | | | | 局_SQL_更新 | 文本型 | | |
局_SQL_删除 = “DELETE FROM ” + 参数_表名 + “ WHERE id = ” + 到文本 (参数_删除的ID ) + “;”参数_数据库. 开始事务 (“delete_trans”)局_执行状态 = 参数_数据库. 执行SQL语句 (局_SQL_删除 ) 如果真 (局_执行状态 = 假) 参数_数据库. 回滚事务 (“delete_trans”) 返回 (假)局_记录集 = 参数_数据库.取记录集 (“SELECT id FROM ” + 参数_表名 + “ ORDER BY id ASC;”) 如果真 (局_记录集. 打开 () = 假) 参数_数据库. 回滚事务 (“delete_trans”) 返回 (假)局_新序号 = 1 判断循环首 (局_记录集. 到下一记录 () = 真) 局_旧ID = 局_记录集. 读字段文本值 (“id”, ) 如果真 (局_旧ID ≠ 到文本 (局_新序号 ))   局_SQL_更新 = “UPDATE ” + 参数_表名 + “ SET id = ” + 到文本 (局_新序号 ) + “ WHERE id = ” + 局_旧ID + “;”  参数_数据库. 执行SQL语句 (局_SQL_更新 ) 局_新序号 = 局_新序号 + 1 判断循环尾 ()局_记录集. 关闭 ()局_SQL_更新 = “UPDATE sqlite_sequence SET seq = ” + 到文本 (局_新序号 - 1 ) + “ WHERE name = '” + 参数_表名 + “';”参数_数据库. 执行SQL语句 (局_SQL_更新 )局_执行状态 = 参数_数据库. 提交事务 (“delete_trans”)返回 (局_执行状态 )
|
评分
-
| 参与人数 1 | 荣誉 +1 |
收起
理由
|
笨潴
| + 1 |
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻! |
查看全部评分
|