主题:  寒秋编写的Dll,支持AW对数据库中的二进制进行读写及其它功

冷月寒

职务:普通成员
等级:1
金币:0.0
发贴:13
注册:2007/8/10 10:41:29
#12007/12/4 15:07:57
--函数名称:Hq_OpenMdb (DBConnString)
--功能:打开指定的一个数据库
--如:lpConnection:=Hq_OpenMdb("DRIVER={Microsoft Access Driver (12.mdb)};DBQ=d:\13.mdb;uid=;pwd=123;")
--入口参数:string
--返回参数:long
--说明:如果打开成功,则返回一个不为0的值

--函数名称:Hq_CloseMdb(lpConnection)
--功能:关闭一个打开的数据库
--入口参数:long
--返回参数:long

--函数名称:Hq_CreateMdb(Filename,password)
--功能:创建一个新的数据库,如果password不为空,则创建带有密码的数据库
--入口参数:String,String
--返回参数:Long
--说明:如果创建成功,则返回为1,否则为0
--至于创建表,则不编写函数了。可以使用Create Table 名字 ( 字段 。。。。)来创建

--函数名称:Hq_EditPassword(Filename,oldpassword,newpassword)
--函数功能:修改指定的数据库中的密码
--入口参数:String,string,string
--返回参数:Long
--说明:如果创建成功,则返回为1,否则为0

--函数名称:Hq_UpdatePciture(lpConnect,sqlstring,picfield,picfile)
--函数功能:为指定符合条件的记录添加指定的图片文件
--入口参数:Long,String,String,String
--返回参数:Long
--说明:如果创建成功,则返回为1,否则为0
--参数说明:
--lpConnect:为打开的数据库的句柄
--Sqlstring:为符合条件的SQL查询语句,与ODBC.u32中一样
--PicField:是数据库中存放图片数据的字段名称
--PicFile:是要写入数据库中的图片文件名
--说明:可以是任意的文件,不一定得是图片。因为是把文件按二进制来写,支持各种文件
--但是返回时,文件扩展名不变,否则无法正常使用,因此,最好还得有一个字段,来保存
--读入的文件名的扩展名。

--函数名称:Hq_GetPicture(lpConnect,sqlstring,picfield,picfile)
--函数功能:用来读取符合条件中的数据库的文件内容,并把它们储存到硬盘上
--入口参数:Long,String,String,String
--返回参数:Long
--说明:如果创建成功,则返回为1,否则为0
--参数说明:
--lpConnect:为打开的数据库的句柄
--Sqlstring:为符合条件的SQL查询语句,与ODBC.u32中一样
--PicField:是数据库中存放图片数据的字段名称
--PicFile:是要保存在硬盘上的文件名称

--函数名称:Hq_CompactMdb (Sourcefile,Targetfile,Password)
--函数功能:用来压缩并修复指定的数据库
--入口参数:String,string,string
--返回参数:Long
--说明:如果创建成功,则返回为1,否则为0
--参数说明:
--Sourcefile:要压缩的文件名
--TargetFile:压缩后的新的文件名
--Password:如果数据库有密码,则必须输入密码



在数据库中,可以利用二进制数据来保存文件内容,但是很多的能在Authorwre中使用的U32或者是X32都没有提供这种功能,有提供的又很贵。(个人版,不能用于商业行为=没什么用;商业版又很贵,辈等人用不起)所以自己利用其它的编程语言,编写了这么一个动态链接库函数,主要是对数据库进行二进制的读写功能。
当然,Hq_Ado.dll中,包含了很多的函数,但是我没有把它们改写成能在Authorware中使用的函数。毕竟,无法直接返回字符串给Aw,所以把查询、添加、删除等功能都留给了ODBC.U32函数。可以利用它来完成相关的操作,我这里就不多写了。

使用方法,自己请看一下示范程序。程序中自带了一个数据库,包含了两个张图片。

该文件已经经过其它网友测试,均能正常运行。如果不能运行,可能是缺少ADO或者是dAO控件,与Hq_Ado.dll无关。

相关文件(rar):点这儿打开



zilei

职务:普通成员
等级:1
金币:0.0
发贴:38
注册:2006/12/22 19:06:46
#22007/12/7 21:31:53
正在学~~~~~

谢谢