登陆注册
36209800000030

第30章 数据库应用程序设计(4)

数据表结构设定完成后,单击【SaveAs】按钮,弹出【SaveTableAs】对话框,如图12-19所示。

(5)在【文件名】编辑框中输入创建的表名,然后单击【保存】按钮,数据表创建完毕。

对已经存在的数据表,用户也可以进行修改,在图12-17所示的【CreateParadox7Table(untitled)】对话框中,单击【Borrow】按钮,弹出【SelectBorrowTable】对话框,如图12-20所示,在列表框中选择要修改的数据表,然后单击【打开】按钮,显示如图12-18所示对话框,用户可以对这个已存在的数据表进行修改。

2.使用DatabaseDesktop向数据表中输入数据

使用DatabaseDesktop向数据表中输入数据的步骤如下。

(1)按如上介绍的方法打开如图12-15所示的【DatabaseDesktop】窗口。

(2)执行【File】→【Open】→【Table】菜单命令,弹出【OpenTable】对话框,如图12-21所示。

(3)在列表框中选择要打开的数据表,然后单击【打开】按钮,【DatabaseDesktop】窗口中显示打开的数据表,如图12-22所示,显然这是一个没有数据记录的空数据表。

(4)执行窗口中的【Table】→【EditData】菜单命令,或单击工具栏【EditData】工具按钮,打开的数据表进入编辑状态,如图12-23所示。

(5)输入第一个记录的姓名字段,然后按回车键,高亮条移到第二个字段处,按同样方法输入第一个记录各个字段。完成后按回车键,高亮条移到第二个记录姓名字段处,按如上方法输入第二个记录各字段,…,直到数据表数据输入完毕,输入了部分数据的数据表如图12-24所示。

(6)单击数据表右上角“关闭”按钮,或执行窗口【File】→【Close】菜单命令,关闭数据表。若不在DatabaseDesktop中进行其他操作,执行【File】→【Exit】菜单命令,或单击窗口右上角的“关闭”按钮,退出【DatabaseDesktop】。

Delphi的数据库管理工具DatabaseDesktop还具有查询数据表数据等功能。

12.3.2配置ODBC

ODBC是Microsoft公司制定的一个数据库前端存取标准界面,用于开发网络环境下客户机/服务器模式数据库应用系统,可以让客户端数据库应用程序访问不同的数据库,只要这种数据库具有ODBC接口,只要ODBC安装了这种数据库的驱动程序。

通过ODBC访问网络数据库,是当前数据库应用程序的常用模式。对这种模式的数据库应用程序,需要在创建数据库之后配置ODBC。

配置ODBC是在计算机操作系统的环境中进行的,不同的操作系统,具体的配置方法基本相同,这里以Windows2000Server操作系统为例,简单介绍ODBC的配置方法。

(1)执行【开始】→【程序】→【管理工具】→【数据源(ODBC)】系统菜单命令,打开【ODBC数据源管理器】对话框,如图12-25所示。

(2)通常若要访问的数据库在本机上,则选择【系统DSN】选项卡;若要访问的数据库在远程数据库服务器上,则选择【用户DSN】选项卡,这里以【用户DSN】选项卡为例。

(3)初次配置ODBC,单击【添加】按钮,弹出【创建新数据源】对话框,如图12-26所示。

(4)在【选择您想为其安装数据源的驱动程序(S)】列表框中选择用户使用的数据库管理系统,如SQLServer,然后单击【完成】按钮,关闭该对话框,弹出【建立新的数据源到SQLServer】对话框(1),如图12-27所示。

(5)在【名称(M)】编辑框中输入用户数据源的名称,可以使用用户数据库的名称,也可以另外命名数据源的名称;在【服务器(S)】组合框的编辑框中直接输入或者从其下拉列表中选择数据库服务器,可以是服务器的IP地址,也可以是服务器的机器名称,然后单击【下一步】按钮,对话框如图12-28所示。

(6)对于“SQLServer应该如何验证登录ID的真伪?”,通常选择【使用用户输入登录ID和密码SQLServer验证(S)】单选按钮,在【登录ID(L)】编辑框中可以取默认的登录ID:Administrator,也可以另行输入登录ID,通常用sa;在【密码(P)】编辑框中输入登录密码,登录密码由用户安装数据库管理系统时决定;通常客户端配置取默认配置即可,然后单击【下一步】按钮,对话框如图12-29所示。

(7)选择【更改默认的数据库为(D)】复选框,在组合框中选择用户数据库的名称,其他设置取默认设置,然后单击【下一步】按钮,对话框如图12-30所示。

(8)通常对所有设置取默认设置,直接单击【完成】按钮,弹出【ODBCMicrosoftSQLServer安装】对话框,对话框列出了以上的设置情况,如图12-31所示,用户可以检查是否正确。

(9)为了检测ODBC数据源是否连接成功,单击【测试数据源】按钮,弹出【SQLServerODBC数据源测试】对话框,给出测试结果,若连接成功,应显示“测试成功”字样,如图12-32所示。

(10)单击【确定】按钮,关闭对话框,显示返回图12-31所示的【ODBCMicrosoftSQLServer安装】对话框。

(11)单击【确定】按钮,关闭对话框,显示返回图12-25所示的【ODBC数据源管理器】对话框,若测试成功,单击【确定】按钮,退出ODBC配置;若不成功,单击【配置】

按钮,重新进行配置,直到成功为止。

12.3.3设置BDE

如前所述,Delphi是通过BDE与数据库链接的,要实现Delphi应用程序对数据库的访问,必须正确设置BDE参数。

设置BDE是通过BDEAdministrator(BDE管理器)完成的,设置BDE的步骤如下。

(1)执行【开始】→【程序】→【BorlandDelphi6】→【BDEAdministrator】菜单命令,启动BDE管理器,如图12-33所示。

BDE管理器窗口左边有两个选项卡,【Databases】选项卡列出了默认的BDE驱动的数据库或数据库别名,选择其中一个数据库或数据库别名,窗口的右边的【Definition】选项卡显示该数据库的有关参数;【Configuration】选项卡用于配置各种数据库的驱动程序或配置BDE本身参数。

(2)若【Databases】选项卡列出的数据库中有用户使用数据库,则可以对有关参数加以修改直接使用;若没有,则需新建。右击【Databases】选项卡中的【Databases】图标、执行快捷菜单中的【New】菜单命令,或执行窗口菜单栏中的【Object】→【New】菜单命令,弹出【NewDatabaseAlias】对话框,如图12-34所示。

(3)在下拉列表中选择用户需要的数据库类型,如SQLServer,然后单击【OK】按钮,选择的数据库以“ODBC1”的别名显示在【BDEAdministrator】窗口的【Databases】选项卡中,用户可以将该别名改为自己需要的别名。

(4)选择新建的数据库别名,窗口右边【Definition】选项卡显示该数据库的参数列表,用户在选项卡中设置需要的参数,其内容随数据库的不同而不同。如对SQLServer来说,DATABASENAME和ODBCDSN应设置为用户数据库的名称,SQLQRYMODE应设置为SERVER,USERNAME应设置为ODBC中设置的登录ID,如前设置的sa,然后单击工具栏的【Apply】工具按钮,BDE设置完毕。

(5)双击设置参数的数据库别名,弹出【DatabaseLogin】对话框,如图12-35所示。

对话框的【UserName】编辑框中,显示确定的用户登录名,在【Password】编辑框中输入用户登录口令,然后单击【OK】按钮,若窗口右边【Definition】选项卡中的参数名称变成粗体字,则说明BDE设置正确。

12.3.4设计应用程序界面

设计应用程序界面,就是根据应用程序的功能和操作要求,设置窗体的属性,在窗体中放置需要的组件并设置它们的属性。

设计数据库应用程序界面和设计一般应用程序界面,方法没有什么不同,只是要熟悉Delphi提供的丰富的数据库组件的功能和使用方法,合理选择和正确使用这些组件,从而设计出外形美观、使用方便、功能满足要求的数据库应用程序界面。

除了手工设计,Delphi还提供了一个数据库应用程序界面设计工具--FormWizard(数据库窗体向导)。使用它,可以方便、快捷地设计符合用户要求的数据库应用程序界面。

12.3.5编写应用程序代码

编写应用程序代码,就是根据应用程序的功能要求,选择对象的事件,编写事件处理代码。

编写数据库应用程序事件处理代码同一般应用程序没有什么不同,需要注意的是:要掌握Delphi数据组件一些重要事件的使用方法。

12.3.6运行、调试应用程序

应用程序界面和代码设计完成后,就可以运行应用程序了。如果运行中出现问题,还要进行调试。这一步同其他的应用程序是相同的。

12.4数据库应用程序设计举例

本节将通过一个图书管理系统的数据库应用程序例子,具体讲述Delphi数据库应用程序的设计方法。

例12-1设计一个简单的图书管理系统数据库应用程序。

这里使用SQLServer数据库实现图书管理,在SQLServer中建立名为TSGL(图书管理)的数据库。

通常图书管理应有如下功能。

数据维护:包括图书登记、读者登记。

图书借阅:包括出借图书、归还图书。

查询:包括图书查询、读者查询、借阅查询。

根据功能要求,需要在TSGL数据库中建立3个数据表:TSBM(图书编目)表、DZMC(读者名册)表和TSJY(图书借阅)表。这3个表的结构分别如下。

TSBM:

SH:图书编号,char(字符串)类型,8字节长

SM:图书名称,varchar(可变长字符串)类型,50

LB:图书类别,varchar类型,16

ZZ:作者姓名,varchar类型,20

CBS:出版社,varchar类型,20

CBRQ:出版日期,datetime(日期时间)类型,固定长度DJ:定价,图书定价,menoy(货币)类型,固定长度BZ:备注,varchar,50

DZMC:

JSZH:借书证号,char类型,6

XM:读者姓名,varchar类型,8

XB:读者性别,char类型,2

ZY:读者职业,varchar类型,8

DW:读者单位,varchar类型,12

BZ:备注,varchar,50

TSJY:

SH:图书编号,char类型,8

JCBZ:图书借出标志,char类型,4

JSZH:借书证号,char类型,6

JCRQ:借出日期,datetime类型

在这3个数据表中,TSBM和TSJY表通过JSZH字段相关联,DZMC和TSJY表通过SH字段相关联。这样,TSJY表就可以减少一些冗余的字段,如SM、XM等。

创建数据库、数据表及向数据表输入必要的数据后,按如上介绍的方法,配置ODBC和BDE。

12.4.1应用程序主界面

首先按照如上所述图书管理的功能要求,设计应用程序主界面。

主界面中,可以用菜单控制,也可以用按钮控制,这里用菜单控制。设计好的程序主界面如图12-36所示。

根据该管理系统的功能要求,窗体中菜单栏各主菜单项的级联菜单如下所示:

查询:图书借阅:数据维护:

主窗体Name属性值为MainForm,【图书信息查询】菜单项Name属性值为Ntscx,【读者信息查询】菜单项Name属性值为Ndzcx,【借出图书查询】菜单项Name属性值为Njccx,【出借图书】菜单项Name属性值为Ncjts,【归还图书】菜单项Name属性值为Nghts,【图书登记】菜单项Name属性值为Ntsdj,【读者登记】菜单项Name属性值为Ndzdj,【退出系统】菜单项Name属性值为Ntcxt。

12.4.2各功能模块程序界面及实现代码

1.图书信息查询

1)程序界面

【图书信息查询】窗体如图12-37所示。

窗体及组件的属性设置如表12-2所示。

为使DBGrid标题用汉字显示,还应双击DBGrid组件,用前面介绍的方法,利用弹出的【EditorDBGridtscx.Columns】对话框编辑其Title属性的Caption等子属性。

2)程序代码

(1)在Unit1单元文件的implementation段中加入usesUnit2;(2)根据功能要求,单击程序主界面【图书信息查询】菜单命令,打开如图12-37所示的【图书信息查询】窗口,因此Unit1单元文件的TMainForm.NtscxClick(Sender:TObject)事件处理代码如下:

(3)查询功能的实现

从【查询关键字选择】组合框中选择查询的关键字,在【查询关键字设置】编辑框中输入相应的关键字参数,然后单击【查询】按钮,则数据网格中列出按选定关键字查询的结果。

【查询】按钮的事件处理代码如下:

(4)返回功能的实现

单击【返回】按钮,关闭【图书信息查询】窗口,显示程序主窗口。【返回】按钮的事件处理代码如下:

2.读者信息查询

用同【图书信息查询】类似的方法,设计【读者信息查询】功能模块。

1)程序界面

【读者信息查询】窗体如图12-38所示。

窗体及组件的属性设置如表12-3所示。

2)程序代码

(1)在Unit1单元文件的implementation段中加入usesUnit3;(2)根据功能要求,鼠标单击程序主界面【读者信息查询】菜单命令,打开图12-38所示的【读者信息查询】窗口,因此Unit1单元文件的TMainForm.NdzcxClick(Sender:TObject)事件处理代码如下:

(3)查询功能的实现

从【查询关键字选择】组合框中选择查询的关键字,在【查询关键字设置】编辑框中输入相应的关键字参数,然后单击【查询】按钮,则数据网格中列出按选定关键字查询的结果。

【查询】按钮的事件处理代码如下:

(4)返回功能的实现

用鼠标单击【返回】按钮,关闭【读者信息查询】窗口,显示程序主窗口。【返回】按钮的事件处理代码如下:

3.借出图书查询

同样,可以设计【借出图书查询】功能模块。

1)程序界面

【借出图书查询】窗体如图12-39所示。

同类推荐
  • 图说电子计算机

    图说电子计算机

    今天人们谈到计算机常常会把它和网络联系起来。20世纪90年代兴起的因特网其影响之广、普及之快也是大家始料未及的,也从没有一种技术能像网络一样日新月异,并迅速地改变着我们的学习和生活方式。因特网大大缩小了时空界限,为我们提供了快捷方便的交流途径。在未来10年内,计算机又将会有怎样飞速的发展呢?在互联网上进行医疗诊断、远程教学、电子商务、视频会议等活动已经实现,未来的互联网的传输速率将会提高100倍,大家可以随时随地连接到因特网上,更方便地进行交流、沟通和开展商务活动。
  • 学校计算机实用技术

    学校计算机实用技术

    本书由杭州市上城区教育学院编著,他们邀请了众多信息技术教育教学的一线专家,认真细致地筛选了学校计算机应用方面的常见问题,提出了解决问题的具体操作方案,旨在帮助一线教育工作者解决可能面临的种种问题,为广大教师提供便捷服务。
  • 微软360度

    微软360度

    本书是由微软总部华人协会组织编写的第二本书,是《微软360度——企业和文件》一书的姐妹篇,本书将着重向你呈现微软总部的华人专家是如何一步一步地走向成功的及在微软总部成功的心路历程,以及如何应对挑战,揭示了微软成功的最重要秘密之一——人才至上,读者读后收获更多的是这些成功人士的成功经验,从而为自己的成功做出更好的规划。就让我们一起通过此书来看看微软公司人才至上管理的方方面面,聆听微软的心声,感觉微软的脉动吧。
  • 一本书读懂24种互联网思维

    一本书读懂24种互联网思维

    本书整合的改变世界的24种互联网思维,让我们对互联网新思维的认识变得立体、系统起来;同时深入浅出、通俗易懂地从技术和实践分析互联网新思维与传统思维相比较的优势,医治互联网焦虑症。未来属于既能深刻理解传统商业的本质,同时又具备互联网思维的人。
  • FlashCS动画制作基础

    FlashCS动画制作基础

    适合爱好flash动画制作的初、中级读者作为入门学习的参考书,还可以供从事网页制作与动画设计的人员参考,同时也可以作为初、中级电脑短训班的培训教材,对有一定经验的flashcs5使用者也有很高的参考价值。
热门推荐
  • 30几岁要想得开

    30几岁要想得开

    三十几岁的人,已步人而立之年后的门槛,对人生的憧憬最为热切,对事业的期盼最为浓烈,其身心也最易感到疲惫。有道是,人生的征程中阳光与风雨同在,要活得明白、活得自在,就要想得开,想得开的人拥有淡定的心境、取舍的心胸、理解的宽容、知足的快乐、明智的退步、忍让的人生态度,远离虚荣的陷阱,理性面对挫折,正确对待功名成就……
  • 大师与传统

    大师与传统

    本书是著名学者刘梦溪先生主要围绕中国传统特性、传统、信仰、人物、经典、智慧、国学内涵等面相,以及二十世纪学术大师的流风余韵,多层次地展开探讨。虽为单篇所辑,但题旨集中。孔子、孟子、老子、庄子、司马迁、王阳明等往圣昔贤,王国维、陈寅恪、马一浮、钱锺书、陈梦家、张荫麟等现代巨擘,书中或专论或引论,体悟存乎一心。二十一世纪人类会好么?作者亦有独特展望。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 时光怂恿深爱人

    时光怂恿深爱人

    本文主线甜宠,男强女刚,可盐可甜,欢迎入坑。她高三那年,广播室惊鸿一瞥,他见色起意。她大三那年,他不远千里追到了她的城市。外人眼中他温文尔雅,谦和有礼,脸蛋天才,但实际上内在人格的凉薄深藏在骨子里,他最擅长事不关己高高挂起,却在遇见她之后开始有了例外。追妻路漫漫,得逞的某人冷艳美少年人设从此被推翻,频频流鼻血,说骚话。“不然再叫声老公来听听?”“除了吃你,没有别的愿望了,以前是,现在更是。”“小学姐…啊不对,现在应该叫老婆了。”纵然山高水长,人生多变,可他亮亮的眼睛却始终没变,无畏人海,无畏时光,永远深爱。沈泽河,一个用实力追妻宠妻的男孩子~
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 绿茵超巨星

    绿茵超巨星

    每一场不曾闪耀的比赛,都是对足球的辜负!老天为我开了挂,让我重活一次,我便不负年华!命是弱者的借口,运是强者的谦词。我不停歇地向上攀爬,不是为了证明我能够站在巅峰,而是为了让那些仰望我背影的人充满希望。我的战争,注定单枪匹马!一腔热血,不知归途!-------------------我从天堂来,要到地狱去,正路过人间!
  • 仙欲逍遥

    仙欲逍遥

    各位书友,新书经过不断换新开头和修改终于上传了,名字是《武道世界里的法师》,希望得到大家的支持,谢谢。一个修仙者的奋斗史!
  • 之后是你命中注定

    之后是你命中注定

    ##~把他堵在厕所“都追你这么久了,为什么还不答应我,你就有那么不喜欢我吗?”被堵的人红着脸抓着自己的裤子“现在能先不提这个事吗?”“你先回答我。”男生羞愤大喊道“那你先放开我裤子。”##在一起后——看着穿着短裙打架的女人,贺季礼黑着脸脱下自己的外套包在她身上 “都说了多少次了,穿短裙不许打架,看来回去得给你点颜色瞧瞧。” 刚打完架的女子向他吹了个口哨,手挑起他的下颚“帅哥,什么颜色。”
  • 云边那抹温情儿

    云边那抹温情儿

    本以为是才子佳人天作之合的爱情温情儿觉得自己就是生活在梦里引以为傲的家室娇生惯养的大小姐更重要的事身旁睡着的男人是白瑾年M市王者般的人物本以为是两情相悦一朝梦醒一纸离婚协议彻底改变了她的生活:白瑾年你…爱过我么?:没有男人的声音异常冰冷,她从未见过这样的他,原来所有的一切,这场婚姻从来被感动的只有她自己而已。