快速发布VFP数据库

   ASP的基于服务器端的脚本设计思路和ADO的方便快捷,使用户在开发Web数据库时省力不少。ASP最常用的开发环境是InterDev,但InterDev比较昂贵,使用起来也比较复杂。也许我们只是想将原有的Xbase数据放到公司的Web服务器上,方便公司外部客户的查询,内部依然使用基于VFP的应用程序。下面介绍一种通过Windows95/98
+PWS+Access 2000快速实现基于VFP数据库查询的Web页面的方法。该方法同样适用于NT+IIS环境。

  1.添加系统DSN

  使用ASP技术的Web页能否存取某一种数据库,关键在于ODBC驱动程序,只要服务器安装了相应的ODBC驱动,你的主页就可以很方便地读取各种数据库,如Access、Excel、Foxpro、Paradox、SQL Server、Oracle等。ODBC的参数设置可以在脚本程序中直接指定,也可以把ODBC的参数设置在系统的DSN(Date Source Name)中,在脚本程序中以DSN启动数据库。使用DSN通过ODBC访问数据库的优点是,当我们改变数据库时,只要重新设置系统DSN,不需要修改程序中的ODBC参数(注意:只有系统DSN对所有用户都可见,而用户DSN和文件DSN,分别只对当前用户和安装了相同驱动程序的用户可见,不要设错了!)。添加系统DSN的步骤如下:

  步骤一:经由“控制面板”→“ODBC数据源(32位)”→“系统DNS”标签,单击“添加...”按钮,出现“创建新数据源”对话框。

  步骤二:从上述对话框的列表框选择“Microsoft FoxPro VFP Driver(.dbf)”项(如果没有此项可以从Office 2000或Visual FoxPro中安装,Office 2000默认并不安装VFP的ODBC),单击“完成”按钮,出现“ODBC Visual FoxPro Setup”对话框。

  步骤三:在“Date Source Name”编辑框中填入数据源的名字,例如:“School”。选择自己的VFP数据库类型,可以选择DBC库或自由表的目录。通过“Browse...”按钮选择数据库或者自由表的目录。打开“Options...〉〉”,从“Collating sequence”下拉列表中选择“PinYin”,使你的中文字串按拼音排序。单击“OK”按钮,完成添加DSN。

  2.在Access 2000上建立链接表

  添加了VFP的DSN后,就可以在Access 2000内直接打开VFP数据库了。

  步骤一:启动Access 2000选择新建“空Access数据库”,随便起一个名字,保存在任意位置,因为Access数据库仅为一个过渡,用过后就可以删除掉。

  步骤二:在主窗口的快捷选单上选择“链接表...”项(你也可以用“导入...”,但当VFP数据库较大时,导入Access的数据可是很占地儿的),出现“链接”对话框,从“文件类型”下拉列表中选择“ODBC Database ()”。屏幕出现“选定数据源”对话框。

  步骤三:选择“机器数据源”标签,从列表中选择你在前面定义的DSN,如School,单击“确定”按钮。

  步骤四:从出现的导入对象对话框中,选择你要提供Web页查询的VFP数据库中的数据表和视图,单击“确定”后,随便指定“惟一的记录标识符”后“确定”。Access就和VFP数据库链接上了。我们现在就可以双击链接图标,浏览VFP数据了。

  3.将VFP的查询移植到Access查询视图

  如果想将VFP的查询在Web上实现,那就要进行这一步。这一步其实很简单,就是将VFP查询的SQL语句复制下来,然后粘贴到Access的查询对象上。需要注意的是,要将VFP的SQL语句中的分号和数据库名在新建的Access查询的SQL编辑器中删除。最后别忘了在Access中运行一下你的查询,看看是否和VFP中的一致。不过我还是建议你将VFP查询改为本地视图,这样就省去了日后维护ASP脚本的SQL了。

  4.用Access生成ASP页面

  步骤一:选中一个链接表或Access查询,右击鼠标从快捷选单中选择“导出...”项。

  步骤二:从“导出”对话框中的“保存类型”下拉列表中选择“Microsoft Active Server”项。可以在此为你的ASP页面起一个名字(如xf)。单击“保存”按钮。

  步骤三:在出现的“Microsoft Active Server页输出选项”对话框中选择HTML模板(也可不选),在“数据源名称”编辑框中填入在第一部分设定的DSN,如School。单击“确定”按钮,完成ASP页的生成。

  5.添加分页浏览代码

  我们生成的ASP页面是以.asp为扩展名,由于ASP是基于服务器端的脚本,所以必须将其发布到Web服务器上,才可以在浏览器中看到效果。

  下面的脚本提供了分页显示查询结果功能,它是利用ADO采用带页码参数的方法控制翻页,这样的好处是可以方便地直接指定要浏览的页面。同时,只要VFP的本地视图名称不变,视图中的SQL 任意变化均不需维护ASP页面。


  〈%

  ′将自动生成的ASP文件,由〈TABLE...〉开始全部删除,改用下列程序段。

  rs.PageSize = 5

  Page = CLng(Request(″Page″))

  If Page 〈 1 Then Page = 1

  If Page 〉 rs.PageCount Then Page = rs.PageCount

   Response.Write ″〈TABLE ALIGN=CENTER BORDER=1〉 〈CAPTION〉〈B〉分页显示VFP数据库〈/B〉〈/CAPTION〉″

   Response.Write ″〈TR BGCOLOR=#ffff00〉″

   For i=0 to rs.Fields.Count-1

     Response.WRITE ″〈TD〉″ & rs.Fields(i).Name & ″〈/TD〉″

   Next

   Response.Write ″〈/TR〉″

   rs.AbsolutePage = Page

   For iPage = 1 To rs.PageSize

   Response.Write ″〈TR〉″

   For i=0 to rs.Fields.Count-1

   Response.WRITE ″〈TD〉″ & rs.Fields(i).Value & ″〈/TD〉″

   Next

   Response.Write ″〈/TR〉″

   rs.MoveNext

   If rs.EOF Then Exit For

   Next

   Response.Write ″〈/TABLE〉″

  %〉

  〈form action=″PageBrow.asp″ method=″GET″id=form1 name=form1〉

   〈font color=″#008000″〉 共〈%=rs.PageCount%〉页

   您正在浏览第〈input type=″text″ size=″2″ name=″Page″ value=〈%=Page%〉 〉页

   〈/font〉

  〈%

   If Page 〈〉 1 Then

   Response.Write ″〈A HREF=xf.asp?Page=1〉〈首页〉〈/A〉 ″

   Response.Write ″〈A HREF=xf.asp?Page=″ & (Page-1) & ″〉〈前页〉〈/A〉 ″

   Else Response.Write ″〈首页〉 〈前页〉″

   End If

   If Page 〈〉 rs.PageCount Then

   Response.Write ″〈A HREF=xf.asp?Page=″ & (Page+1) & ″〉〈后页〉〈/A〉″

   Response.Write ″〈A HREF=xf.asp?Page=″& rs.PageCount & ″〉〈尾页〉〈/A〉″

   Else Response.Write ″〈后页〉 〈尾页〉″

   End If

  %〉

  〈/form〉〈/body〉〈/html〉 

http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6186.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6183.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6137.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6134.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6133.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6126.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6125.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6122.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6115.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6112.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6186.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6183.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6137.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6134.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6133.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6126.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6125.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6122.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6115.html
http://jiankang.58.com/h_88da264f-b3d7-40b5-be60-d6024e382125/news_6112.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VFP基本数据库系统开发实例(附图) 西南大学计信院 导学 在Visual Foxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存 发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。 11.1 系统需求分析 传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的 发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少 的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现 如下功能: 1. 数据需求 通过调查,总结出该应用程序对数据的需求大致有如下这些: (1) 学生信息 包括学号,姓名,性别,出生日期,系科,备注,照片 (2) 管理员信息 包括用户名,密码,管理员姓名,权限,说明信息 (3) 学生成绩信息 主要包括学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否 (4) 课程信息 包括课程编号,课程名称 2. 功能需求 功能分析的任务是了解用户对数据的处理方法和输出格式。 (1) 基本数据录入 基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够 录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性 。 (2) 查询 能够查询出学生成绩,和补考人员名单等。 (3) 学生和管理员信息的维护 要求能够根据需要对学生和管理员信息进行维护修改等。 (4)成绩的审核 根据学生的总评成绩审核学生的计算机成绩是否通过。 (5) 打印输出 打印学生成绩表和补考人员名单等。 11.2 系统设计 1. 程序总体结构设计 在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于 对程序分层设计和实现。图1所示为公共计算机成绩管理系统的功能模块图。 图1公共计算机成绩管理系统功能模块 2. 数据库逻辑设计 进行数据库设计的依据有三个:第一是在进行系统调查时由成绩管理员提供的各种 处理数据;第二是功能设计结果;第三是数据库设计规范化理论。数据库设计是系统设 计的一项基本工作,其效果的好坏,对后续设计、调试、使用、维护等工作关系极大, 因此,一定要高度重视这一部分工作。当然,我们不能简单地将数据库设计理解为在计 算机上用可视化的方法建立表的过程,其主要工作是建立一种完整、规范的数据模型以 支持整个应用系统对数据的要求。 根据对实际情况进行分析建立关系模型 1) 学生信息表(学号,姓名,性别,出生日期,系科,备注,照片) 2) 管理人员信息表(用户名,密码,管理员姓名,权限,说明信息) 3) 学生成绩表(学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否) 4) 补考名单表(学号,姓名, 总评成绩,补考成绩) 5) 课程表(课程编号,课程名称) 11.3 创建项目 Visual Foxpro推荐在项目管理器中开发应用程序,因为项目管理器会为开发工作带来很多方便 。在项目管理器中创建一个项目后,应用程序就具备了一个开发框架,然后在这个框架 中,再利用项目管理器所提供的强大功能,按照需求来实现应用程序的设计。 用户可以启动Visual Foxpro,选择【文件】"【新建】命令,在打开的对话框中,选择"项目"单选按钮,然后 单击"新建文件"按钮,接着在"创建"对话框中,输入项目文件名并确定项目路径(本例 使用的路径为D:\公共计算机成绩管理系统),然后单击"保存"按钮,即可启动项目管理 器。 一个完整的应用程序,即使规模不大,也会涉及到多种类型文件,如dbc数据库、d bf表以及菜单、表单、报表、位图等。为了以后的修改、维护工作方便进行,就需要把 这些文件放在不同的文件夹中便于管理维护,例如一般把dbc数据库文件、dbf表文件和 cdx索引文件放在DATE目录,表单、报表、标签等放在FORMS目录等。 11.4数据库的物理设计 a) 数据库名为公共计算机成绩管理.dbc b) 数据表 i. 学生信息表.dbf 学号/C/10,姓名/C/10,性别/L/1,出生日期/D/8,系科/C/30,备注/M/4,照片/G/4 ii. 管理人员信息表.dbf 用户名/C/10,密码/C/10,管理员姓名/C/10,权限/C/4,说明信息/C/20 iii. 学生成绩表. dbf学号/C/10, 课程编号/C/2,平时成绩/N/6/2,笔试成绩/N/6/2,上机成绩/N/6/2,总评成绩/N/6/2,审 核否/L/1 iv. 补考名单表 学号/C/10,姓名/C/10, 总评成绩/N/6/2,补考成绩/N/6/2 v. 课程表 课程编号/C/2,课程名称/C/14 图2 公共计算机成绩管理数据库及其表结构 11.5界面设计 1) 创建启动表单 下面设计应用程序的封面,主要由一个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值