资源描述
⒈ 引言
伴随信息时代到来, 很多单位都将企业内部网连入Internet。面向网络数据库成为支持Internet服务关键, 传统数据库访问已逐步不能满足用户获取信息需要, 研究Internet数据库访问技术已成为数据库研究关键方向之一。在实际应用VFP编写各类应用系统中, 用户建立了大量数据信息, 这些信息通常都是存放在各类数据表中, 假如这些数据信息能在浏览器中浏览, 就需要将VFP数据表与Internet进行动态连接, 直接生成能够在网上浏览使用HTML格式文件。实现这种了解基础思想是在服务器端运行VFP程序后返回给用户端一个HTML格式文档, 这么就实现了以网页方法提供用户端浏览器浏览VFP数据表。下面介绍多个快速将数据库内容自动生成HTML格式输出方法。
⒉ 多个实用VFP数据表内容公布技术
2.1 利用文件类库公布VFP数据表内容
将VFP数据表内容公布到Internet上, 是基于关系数据库中_internet.vcx转换类库实现, 该类库中_dbf2html是一个速度极快将VFP提供数据表内容转换成HTML格式文件类库。只要对该类库部分属性进行定义, 并在表单控件窗口中使用添加类方法将该类库添加到控件中, 在CLICK事件中加入简单代码, 就能快速将VFP数据表内容转换成HTML格式文件, 供用户在浏览器中浏览。实施过程以下:
⑴ 在表单控件中添加类库和代码
在VFP系统目FFC子目录下存在一个_internet.vcx类库, 其中_dbf2html为数据表到HTML格式转换类, 在使用时, 首先新建一个表单, 在表单控件窗口中使用”显示/表单控件工具栏”菜单,将_internet.vcx类库添加到控件中, 并在表单中添加_dbf2html类, 然后在表单中添加一个命令按钮COMMAND1, 在该命令按钮CLICK事件中加入以下代码:
FILE1=GETFILE("DBF")
FILE2=SUBS(FILE1,1,AT(".",FILE1)-1)
FILE2=SUBS(FILE2,RAT("",FILE2)+1)
IF USED("&FILE2")
SELE &FILE2
ELSE
SELE 0
USE &FILE2
ENDIF
THISFORM. GSZH.GENHTML() &&以上命令是确定一个数据文件已经打开,实施转换程序
⑵ 定义类库属性
点击_dbf2html类库并选择“属性”, 对该类库中相关属性、 事件和方法设置说明以下:
① cSource属性 指出生成HTML数据表源文件名, 缺省值为“无”, 则经过人——机对话方法, 转换任意路径下任意数据表。若指定数据表, 则转换该数据表。本例设置为: “无”。
② NgenOutput属性 _GENHTML输出选项设置为2。
③ cOutFile属性 指出输出HTML文件名称, 本例设置为: page1。缺省值为“无”, 若选择缺省值, 输出HTML文件名称与所选数据表名称一致。
④ IautoNameOutput属性: 指出_GENHTML是否自动基于源来命令该输出文件, 缺省值为 .T. 本例设置为: .F.。
⑤ NAME属性设为GSZH。
⑥ 其它属性均为默认值。
保留并运行这个表单, 使用鼠标点击窗口中命令按钮, 将弹出一个选择文件对话框, 这时可任意选择一个数据表文件, 比如我们选择“学生成绩”数据表, 确定后系统将会自动生成一个Page1.HTML网页文件并开启浏览器浏览这个生成HTML文件, 实现了数据表内容HTML文件输出, 输出结果以下图所表示。
以上经过人——机对话方法, 可将任意路径下任意数据表转换成网页格式。假如要将固定数据表转换成网页格式, 可删除CLICK事件中代码前两行, 并将第三行改为: file2='学生成绩表', 在运行该表单时, 不需要人——机对话, 直接将数据表转换成网页格式。
2.2 利用网页编辑工具与VFP编程技巧相结合公布数据表内容
以上方法生成HTML格式文件是以表格形式出现, 每一行对应数据表中一条统计, 当数据表中字段内容和统计过多时, 用户在浏览器中浏览生成HTML格式文件时就非常不方便。在实际应用中, 常常需要先在数据表中实施查询操作, 然后将查询结果生成网页进行浏览, 立即某一个人情况生成一页自定义表格样式HTML格式文件。利用上文提供方法就不能实现了。要实现这种功效, 我们能够采取应用FrontPage或Dreamweaver等网页编辑工具与VFP系统编程技巧结合, 实现方法多样式网页文件生成输出要求。我们以查询学生成绩表为例, 其实施过程以下:
⑴ 编辑用户端网页格式。使用Dreamweaver网页编辑工具, 编辑一个所见即所得静态网页, 网页格式以下图:
在这个静态网页中, 生成表格中前面带**字符为所在生成网页格式数据起源中数据表中字段名称, **是标识符, 如**姓名, 其中姓名为数据表中字段名称。
⑵ 创建网页格式库。新建一个数据表存放网页格式内容, 该库命名为“输出格式.DBF”, 在数据表中定义一个备注型字段gsh, 为该数据表增加一条空统计, 然后打开备注字段gsh进入编辑窗口状态, 把在网页设计器中生成网页格式源文件内容全部复制到该备注字段中, 这么一个网页格式就生成了。在实际应用中, 我们能够依据需要, 生成大量、 不一样格式网页并存放到网页格式数据表中, 可随时利用这个库方便地生成不一样网页格式, 扩展了数据表数据内容应用范围。
⑶ 编写一段转换程序, 该程序关键工作原理为打开源数据表并取出生成网页格式字符串内容, 打开需要输出内容“学生成绩表”数据表文件, 用该数据表中对应字段内容替换网页格式中以**为标识字段串内容, 全部字段内容替换完成, 最终将该格式文本内容生成一个HTML文件, 即可完成整个系统要求, 编写程序以下:
close data
use 输出格式 &&打开网页格式库
zy=gsh &&将网页格式内容赋给变量zy
use 学生成绩表 &&打开源数据表
xh=' '
@ 10,20 say "请输入学号: " get xh
read
locat for 学号=xh
if found()
zy=strtran(zy,"**学号",学生成绩表.学号)
zy=strtran(zy,"**姓名",学生成绩表.姓名)
zy=strtran(zy,"**高数",str(学生成绩表.高数,6,2))
zy=strtran(zy,"**物理",str(学生成绩表.物理,6,2))
zy=strtran(zy,"**英语",str(学生成绩表.英语,6,2))
zy=strtran(zy,"**程序设计",str(学生成绩表.程序设计,6,2))
else
zy='查无此人!!!!'
endif
=strtofile(zy,'page2.html') &&生成网页格式文件
close data
实施这个程序, 将会自动生成一个名字为page2.HTMl文件, 在浏览器中查看这个文件, 该文件显示以下:
我们发觉数据表中相关字段中内容变成了该网页中内容, 这么就非常方便地实现了数据表中内容到网页格式文件输出。
2.3 用FoxWeb快速公布数据库信息
利用微软IIS让数据库上网是非常轻易, 但那是经过ODBC来进行, 效率较低。而且当您用ODBC驱动程序来读取FOXPRO数据库时, IIS常常会莫名其妙停止工作。FOXWEB出现使在WEB上应用FOXPRO系列数据库变得轻而易举, FoxWeb是微软专门为公布FOXPRO系列数据库而开发一个CGI接口, 只要熟悉Foxpro编程和有一定HTML基础, 再了解一下怎样使用FoxWeb就能够快速开发出令人满意动态网页码了。
⒊ 结束语
伴随网络技术快速发展, 很多数据库信息要求在网上共享使用, 实现数据库动态查询。要在INTERNET上制作数据库动态查询, 关键问题是在INTERNET上建立与数据库连接, 有很多方法能够处理此问题, 如用CGI、 ASP、 JSP等编程实现。
参考文件 王建华. 《网站建设与网页制作》[M] 重庆. 重庆大学出版社 .4
展开阅读全文