① 易语言运行报错 未指定数据库或数据库打开失败 求高人指点
edb 不需要 置当前库。 把那句去掉 就留 第一句 打开 就行了。 还有 既然都 取运行目录了 。你确定 运行目录下 有 学生库.edb?
② 易语言运行就提示未指定当前数据库或指定数据库未打开哪里出错了
打开()命令下面的路径写错了,所以也就打开失败了,所以你调用会有这个错误的提示
把那个什么 取运行目录()删掉
③ 易语言写的软件有些电脑打开会提示加载dll数据库失败
如果是传给他人使用的,请把相关数据库,支持库,文件配置一并发送,或者把DLL文件放在程序的资源集里,首次使用或文件不存在的情况下再把DLL文件写出到程序运行目录
④ 我用易语言编写的程序用到了易语言自带的数据库,直接静态编译,数据库不能调用,是不是要生成安装软件
不是的,你源码里面读取数据库文件的时候地址是怎么填的?应该是像这样:“取运行目录()+“”+“数据库名称.edb””,这样就可以了。然后你把数据库文件和你生成的静态编译文件放在一个文件夹下。这样就可以正常读取了!
⑤ 易语言,求错误。调用DLL时,说是数据库未打开或无未指定当前库。 追加20分解决!!DLL 和日期签名 同目录
嗯。
问题其他的没有什么,主要就是出现在检测签名那个子程序里面,dll命令有问题..没有编译的话就不行。其实的话,你本来那个代码也是可以的,只要不用dll,就把dll那个子程序放到程序里面,编译后运行也没有问题。
主要就是在数据库的路径上出现问题。
本来调试运行是在系统临时文件夹里面调试,那个文件夹里面没有数据库文件,自然无法打开,所以会显示打开失败。下面我把你那个dll命令稍微的修改了一下,我想应该就可以了。
======================================================================
.版本 2
.子程序 签名检测, 整数型, 公开, 1,通过 0.未通过
.参数 签名单位, 文本型
.参数 授权的方式, 整数型, , 1.时间限制型,此时签名文件的失效时间起作用 2.次数限制型,此时签名文件的使用次数起作用
.参数 数据库路径, 文本型, , 数据库的绝对路径=.=
.参数 数据库密码, 文本型, , 打开数据库需要的密码-.-
.局部变量 当前系统日期时间, 日期时间型
.局部变量 读取的签名单位, 文本型
.局部变量 读取的授权方式, 整数型, , , 1.时间限制 2.次数限制
.局部变量 失效的时间, 日期时间型
.局部变量 使用的次数, 整数型
.局部变量 返回的数据, 整数型
当前系统日期时间 = 取现行时间 ()
打开 (数据库路径, , , , , 数据库密码, )
置当前库 (数据库路径)
到首记录 ()
读取的签名单位 = 读 (“签名单位”)
.如果 (读取的签名单位 = 签名单位) ' 查对签名单位
到首记录 ()
读取的授权方式 = 读 (“授权方式”)
.如果 (授权的方式 = 读取的授权方式) ' 检测要求的授权方式与签名文件的授权方式是否相同
.判断开始 (授权的方式 = 1)
失效的时间 = 读 (“失效时间”)
.如果 (取整 (取时间间隔 (当前系统日期时间, 失效的时间, #日)) < 0)
信息框 (“签名文件已过期!”, 0, )
返回的数据 = 0
.否则
返回的数据 = 1
.如果结束
.判断 (授权的方式 = 2)
使用的次数 = 读 (“剩余使用次数”)
.如果 (使用的次数 < 1)
信息框 (“签名文件使用次数已经为:0 !”, 0, )
返回的数据 = 0
.否则
到首记录 ()
使用的次数 = 读 (“剩余使用次数”)
写 (“剩余使用次数”, 使用的次数 - 1)
返回的数据 = 1
.如果结束
.默认
.判断结束
.否则
信息框 (“签名文件错误,授权方式不正确!”, 0, )
返回的数据 = 0
.如果结束
.否则
信息框 (“签名单位错误,请使用正确的签名授予单位的程序!”, 0, )
返回的数据 = 0
.如果结束
返回 (返回的数据)
======================================================================