中学生 发表于 2013-3-11 18:02:22

这个程序为什么不写数据库呢

请教,这个下载程序它为什么不写数据库呢?这是个用模块做的下载程序,我想给它加上数据库功能,也就是说下载时,当点击暂停时,信息就会写入到数据库当中,然后,下次启动程序时,可从数据库中读出未下载完的信息,再继续进行下载。这样。但现在这个程序是,启动程序后,可以建立一个表,下载功能也可以,但点击暂停后,信息却写不到数据表当中,我不知道这是为什么呢?程序当中已经加入了写数据库的功能,却为什么还写不进去呢?大家帮帮忙指导下,谢谢!

请站长大哥解答下,谢谢!

源码程序

admin 发表于 2013-3-13 08:30:22

首先你的暂停按钮里根本就没有写数据库的代码,看了下你的代码太乱了……
.版本 2
.支持库 iext

.子程序 _按钮_暂停_被单击

.如果真 (下载对象.暂停 (取ID (超级列表框1.现行选中项)))
    超级列表框1.置标题 (超级列表框1.现行选中项, 4, “已暂停”)
.如果真结束

这样你让它怎么写到数据库?

中学生 发表于 2013-3-13 13:46:27

好像不是在暂停按钮里写数据库的代码吧?因为我觉得点击暂停后,是把超级列表框的现行项目的几个表项信息停下来,然后再把停下来的信息写入到数据表当中。在暂停里写,那咋写啊?还是不会。我觉得是时钟里?不知对不对?

admin 发表于 2013-3-13 22:58:28

暂停里也可以写数据,当然只是写了当前选中项的数据了,看来还满足不了你的目地。

潇潇 发表于 2013-3-14 10:27:29

看了代码后,首先易数据库打开后要记得关闭,不然下一次打开时本以为没打开的,实际上已经打开了,在用判断语句时经常打开出错。下面是修改或增加的代码供参考:
.版本 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]
查看完整版本: 这个程序为什么不写数据库呢