这个程序为什么不写数据库呢
请教,这个下载程序它为什么不写数据库呢?这是个用模块做的下载程序,我想给它加上数据库功能,也就是说下载时,当点击暂停时,信息就会写入到数据库当中,然后,下次启动程序时,可从数据库中读出未下载完的信息,再继续进行下载。这样。但现在这个程序是,启动程序后,可以建立一个表,下载功能也可以,但点击暂停后,信息却写不到数据表当中,我不知道这是为什么呢?程序当中已经加入了写数据库的功能,却为什么还写不进去呢?大家帮帮忙指导下,谢谢!请站长大哥解答下,谢谢!
源码程序 首先你的暂停按钮里根本就没有写数据库的代码,看了下你的代码太乱了……
.版本 2
.支持库 iext
.子程序 _按钮_暂停_被单击
.如果真 (下载对象.暂停 (取ID (超级列表框1.现行选中项)))
超级列表框1.置标题 (超级列表框1.现行选中项, 4, “已暂停”)
.如果真结束
这样你让它怎么写到数据库?
好像不是在暂停按钮里写数据库的代码吧?因为我觉得点击暂停后,是把超级列表框的现行项目的几个表项信息停下来,然后再把停下来的信息写入到数据表当中。在暂停里写,那咋写啊?还是不会。我觉得是时钟里?不知对不对? 暂停里也可以写数据,当然只是写了当前选中项的数据了,看来还满足不了你的目地。 看了代码后,首先易数据库打开后要记得关闭,不然下一次打开时本以为没打开的,实际上已经打开了,在用判断语句时经常打开出错。下面是修改或增加的代码供参考:
.版本 2
.支持库 spec
.支持库 iext
.子程序 创建数据库, 逻辑型, , ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++潇潇增加
.参数 数据库名, 文本型, , list.edb
.局部变量 数据库路径, 文本型
.局部变量 A, 字段信息, , "6"
数据库路径 = 取运行目录 () + “/data/” + 数据库名
.如果 (文件是否存在 (数据库路径) = 假)
A .名称 = “文件名称”
A .类型 = #文本型
A .最大文本长度 = 512
.判断开始 (数据库名 = “list.edb”)
A .名称 = “已下载”
A .类型 = #文本型
A .最大文本长度 = 512
A .名称 = “速度”
A .类型 = #文本型
A .最大文本长度 = 512
A .名称 = “TaskID”
A .类型 = #文本型
A .最大文本长度 = 512
A .名称 = “状态”
A .类型 = #文本型
A .最大文本长度 = 512
A .名称 = “进度”
A .类型 = #文本型
A .最大文本长度 = 512
.判断 (数据库名 = “Slist.edb”)
A .名称 = “完成时间”
A .类型 = #文本型
A .最大文本长度 = 512
A .名称 = “文件大小”
A .类型 = #文本型
A .最大文本长度 = 512
A .名称 = “保存位置”
A .类型 = #文本型
A .最大文本长度 = 512
.默认
.判断结束
.如果 (创建 (数据库路径, A) = 真)
返回 (真)
.否则
返回 (假)
.如果结束
.否则
' 信息框 (数据库名 + “数据库已经存在。”, 0, “提示”)
返回 (真)
.如果结束
.子程序 启动窗口时加载下载信息, , , ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++潇潇增加
.参数 数据库名, 文本型
.局部变量 数据库路径, 文本型
.局部变量 计次, 整数型
.局部变量 记录数, 整数型
.局部变量 字段数, 整数型
.局部变量 字段值, 文本型
.局部变量 地址, 整数型
.局部变量 计次1, 整数型
数据库路径 = 取运行目录 () + “/data/” + 数据库名
.如果真 (文件是否存在 (数据库路径) = 真)
.如果真 (打开 (数据库路径, , , , , , ) = 真)
记录数 = 取记录数 ()
字段数 = 取字段数 ()
调试输出 (“当前” + 数据库名 + “记录:” + 到文本 (记录数) + “/字段数:” + 到文本 (字段数))
.如果 (记录数 ≠ 0)
.判断开始 (数据库名 = “list.edb”)
.计次循环首 (记录数, 计次)
地址 = 超级列表框1.插入表项 (计次, , , , , )
.计次循环首 (字段数, 计次1)
字段值 = 读字段 (计次1, )
调试输出 (字段值)
超级列表框1.置标题 (地址, 计次1 - 1, 字段值)
.计次循环尾 ()
跳到 (计次 + 1)
.计次循环尾 ()
.判断 (数据库名 = “Slist.edb”)
.计次循环首 (记录数, 计次)
地址 = 超级列表框2.插入表项 (计次, , , , , )
.计次循环首 (字段数, 计次1)
超级列表框2.置标题 (地址, 计次1 - 1, 读字段 (计次1, ))
.计次循环尾 ()
跳到 (计次 + 1)
.计次循环尾 ()
.默认
.判断结束
.否则
信息框 (数据库名 + “数据库无记录。”, 0, “提示”)
.如果结束
.如果真结束
关闭 ()
.版本 2
.支持库 iext
.子程序 保存列表_改, , , ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++潇潇修改
.局部变量 次, 整数型
.如果 (超级列表框1.取表项数 () = 0)
释放迅雷引擎 ()
.否则
.如果真 (释放迅雷引擎 () = 真)
.如果真 (打开 (取运行目录 () + “\data\list.edb”, , , , , , ) = 真)
.计次循环首 (超级列表框1.取表项数 (), 次)
加空记录 ()
写 (“文件名称”, 超级列表框1.取标题 (次 - 1, 0))
写 (“已下载”, 超级列表框1.取标题 (次 - 1, 1))
写 (“速度”, 超级列表框1.取标题 (次 - 1, 2))
写 (“TaskID”, 超级列表框1.取标题 (次 - 1, 3))
写 (“状态”, 超级列表框1.取标题 (次 - 1, 4))
写 (“进度”, 超级列表框1.取标题 (次 - 1, 5))
.计次循环尾 ()
信息框 (“保存未完成项成功”, 0, )
关闭 ()
.如果真结束
.如果真结束
在创建窗口时又增加下面代码:
.版本 2
' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++潇潇增加
创建数据库 (“list.edb”)' 窗口启动时创建未完成数据库.
创建数据库 (“Slist.edb”)' 窗口启动时创建已完成数据库.
启动窗口时加载下载信息 (“list.edb”)' 窗口启动时加载未完成数据库,内有是否有记录的逻辑判断
启动窗口时加载下载信息 (“Slist.edb”)' 窗口启动时加载已完成数据库,内有是否有记录的逻辑判断
' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++潇潇增加
页:
[1]