免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书馆数据库管理系统目录概要. .1第一章 引言.11研究课题的目的和意义.2第二章方案论证.32.1所选择的开发工具delphi介绍.32.2面向对象编程的概念.42.3 Pascal语言介绍.42.4 SQL语言.52.5 SQLSever 2000的应用.62.6 数据库连接技术72.7概要设计 72.8 模块分析8第三章 设计过程详细论述.93.1Delphi设计软件组件分析. .93.2后台数据库详细设计.113.2.1系统ER图.113.2.2 数据库表截图分析123.3 系统界面详细设计.133.3.1 系统登陆界面设计分析133.3.2 系统主界面设计分析143.3.3 图书管理系统界面分析153.3.4 图书查询界面设计分析163.3.5 新书登记界面设计分析173.3.6 图书下架界面设计分析193.3.7 读者办卡界面设计分析203.3.8 读者信息界面设计分析213.3.9 读者挂失界面设计分析223.3.10读者注销节目设计分析.233.3.11读者冻结界面设计分析.243.3.12借阅管理系统界面设计分析.253.3.13借书(还书)界面设计分析.263.3.14借阅信息界面设计分析.29第五章 后记.31概要电脑技术将对今天世界上的商业产生深远的影响,鼠标只要点一下就可以将数据入库或对其进行访问。制造商的国外订货单可以立即接受并执行。随着信息量的不断增大,我们对数据的科学处理和管理的需求变得日益紧迫。图书馆是存放大量不同时期,不同作者,不同学科书籍的地方,如果不能有一套科学的数据库管理系统,就会使借书,还书,冻结等工作的效率大大降低,为此,我开发了一个图书馆数据库管理系统,使图书馆的书籍管理变得简单有序。开发这个数据库系统设计到很多技术,包括Delphi开发工具,Pascal面向对象语言,SQL语言,ADO技术,SQLSever 2000,以及数据库设计,数据库连接等技术。图书馆数据库管理系统,使管理员管理图书的有效工具。随着科技的日益发展,越来越多的新兴数据库系统应运而生,我们必须紧跟时代的脚步,开发出更多,更快捷方便的数据库管理系统。第一章 引言1 研究课题的目的、意义(1) 熟悉大型数据库管理系统的结构与组成;加深对大型数据库管理系统结构的认识,学会自主分析数据库结构。(2) 熟悉数据库应用系统的设计方法和开发过程;掌握应用程序开发的详细过程,深化对开发程序过程的了解。(3) 掌握一种大型数据库管理系统(ORACLE、DB2或SQL SERVER)的应用技术和开发工具的使用;(4) 熟悉数据库安全的相关知识和技术;安全问题不是数据库系统独有的,所有计算机都有这个问题,数据库的安全,包括操作系统,网络系统的安全性是紧密联系,相互支持的。(5) 熟悉数据库系统的管理和维护。通过DBMS运行运行控制和管理功能,来进行管理和自动恢复,并发控制和死锁检测,安全性检查和存取控制,完整性检查和执行,运行日志和组织管理。第二章 方案论证2.1 所选择的开发工具delphi介绍Delphi基本概念介绍Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作Delphi的每一个设计细节,都将带给您一份欣喜。 Delphi的基本形式 Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。Delphi已经为您做好了一切基础工作程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。2.2 面向对象编程的概念 面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而Delphi是完全面向对象的,这就使得Delphi成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。 一些早期的具有OOP性能的程序语言如C+,Pascal,Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代码。Delphi的推出,填补了这项空白。您不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给Delphi去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,Delphi将帮助您轻松地完成。它允许在一个具有真正OOP扩展的可视化编程环境中,使用它的Object Pascal语言。这种革命性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。 2.3 Pascal语言介绍Delphi的编程语言是以Pascal为基础的。Pascal语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Delphi这种先进开发环境的编程语言。在编写自己的Object Pascal程序时,要注意程序的可读性。Pascal语言是英式结构语言,在程序中选择合适的缩排、大小写风格,并在需要时将程序代码分行,会使得程序代码能够很容易地被自己和他人读懂。一般的程序员都有这样的体验:如果不给程序加上适当的注解,一段时间后,自己也难以理清程序的流程。给程序及时地加上注释是良好的编程习惯。Delphi的注释需要加注在之间,编辑器会把它们处理成为空白。Delphi保留了Borland Pascal编辑器的风格,关键字采用黑体字,被注释的部分会变暗,这使得编程风格良好,易读易写。在事件处理过程中,最常用到的工作就是把一个新值赋给一个属性或变量。在设计用户界面时,可以使用Object Inspector(Object Inspector)来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在Delphi的在线帮助的“Proprety”主题中被标为执行期属性。过程与函数是程序中执行特定工作的模块化部分。Delphi的运行库包含许多过程与函数以供您的应用程序调用。您不必了解过程与函数的逻辑,但要知道过程与函数的用途。在对象中说明的过程和函数称为方法(Method)。所有的事件处理过程都是过程,以保留字procedure开头。每一个事件处理过程只包含了当这一事件发生时需要执行的程序代码。在事件处理过程中使用Delphi已经存在的过程与函数,只需在程序代码中调用它们即可。2.4 SQL语言1.SQL语言简介SQL语言作为关系数据库管理系统中的一种通用的结构查询语言,已经被众多的数据库管理系统所采用,如ORACLE、Sybase、Informix等数据库管理系统,它们都支持SQL 语言。Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个强大的数据库应用开发工具的一个重要标志。2.SQL的优点SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。(1) 非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。(2) 统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括: 查询数据 在表中插入、修改和删除记录 建立、修改和删除数据对象 控制对数据和数据对象的存取 保证数据库一致性和完整性 以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。(3) 是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。2.5 SQLSever 2000的应用在Windows操作系统中,Access和SQL Server是最常见的网络后台数据库。在比较大的网络应用系统中,还是选择SQL Server;在局域网站上,使用ASPSQL Server 2000开发网络应用系统是十分经典的组合。SQL Server 2000的版本包括企业版,标准版,个人版,开发版和评估版。企业版是功能最强大的版本,它具有强大的可伸缩性和可靠性。对于中小规模的企业,标准版是一个比较经济的选择。个人版是在标准版的基础上,为个人用户量身定做的。其最大的特点是可以在非服务器操作系统上运行。例如Windows2000专业版,Windows NTWorkstation4.0,Windows Me和Windows 98。开发版是为开发者提供的版本,它可以在SQL Server基础上编译生成任何类型的应用程序。它包括企业版的所有特性,但不能用于产品发布。SQL Server 是一个关系型数据库管理系统,其主要特性包括:1)存储过程(Stored Procedures),即一种预编译的事务SQL语句组。2)扩展存储过程(Extended Stored Procedures),动态装载和执行DLL中的函数功能。3)在线事务处理(Online Transaction Processing, OLTP)4)在线分析处理(Online Analytical Processing,OLAP)5)提供大量的向导工具,协助完成各种操作。在本课题的设计过程中,我选择了SQL Server2000作为后台数据库系统,在开发的过程中使用的是SQL Server 2000,开发完成后使用SQLServer2000企业版进行了联机测试。2.6 数据库访问技术直到目前为止,计算机软件的开发分为两个不同的体系,其中一个体系是使用传统的程序设计语言(如Pascal、Basic和C等)开发数值控制、数值运算等软件,围绕它们的重点是算术、数据结构以及近年产生的面向对象技术。另一个体系则是通用的数据库管理软件领域(数据库应用程序的开发)。这两个体系的发展都极为迅猛,但是二者并没出现混合渗透迹象。如果使用数据库语言进行传统的算术编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂。如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数和过程,利用这些函数和过程提供的功能,可能也能做得比较完善,但这做起来大多是极其困难的。而Delphi结合了两个体系的优点,它结合了传统的编程语言Object Pascal和数据库语言的强大功能,它即可以用于传统的算术编程又可以用于数据库编程,特别是Delphi具有强大的数据库功能,利用Delphi的数据库工具,我们根本不需要编写任何Object Pascal代码便可以创建一个简单的数据库应用。 Delphi是Borland公司于1994年底发布的用于开发数据库应用程序的工具,它是面向对象的,它是目前开发客户/服务器数据库应用程序的强有力的工具。Delphi在Window3.1以上版本的系统环境下运行,目前具有两个版本:Delphi的标准版本和客户/服务器版本。标准版本包含一个Borland Database Engine的局部拷贝,它允许用户创建能访问dBASE、Paradox和Local InterBase 服务器的数据库应用, 它还支持具有 ODBC 接口的数据库。Delphi的客户/服务器版本包括Borland SQL Link, 它能直接访问 ORACLE 、 SyBase 和Microsoft SQL Server,Informix以及InterBase数据库服务器。 Delphi可以访问多种数据库管理系统的数据库,凭借窗体(Forms)和报表(Reports),BDE(Borland Database Engine)可以访问诸如Paradox、dBASE、本地InterBase 服务器的数据库,也可以访问远程数据库服务器上的数据库(如ORACLE、SyBase、Informix等客户/服务器数据库中的数据库),或任何经ODBC(Open Database Connecticity) 可访问的数据库管理系统中的数据库。2.7 概要设计根据我设计的图书馆数据库管理系统,我作了如下分析:图书馆提供图书借阅业务,读者借阅需先办理借书卡(用条码识别身份),并交纳一定的押金。不同的书有着不同的借阅期限,比如期刊和某些新书最多只能借阅七天,而另一些书则可以借阅半个月或最长三个月不等。逾期不还,或丢失、损坏书籍则予以罚款。在交纳罚款前,借书卡被冻结。不同类别的读者不着不同的借阅数量限制,比如有的一次可以借阅7本,有的只能借阅5本等。对逾期不还的,系统给出报警,并打印催还通知单。读者可以事先从网上查询拟借书刊是否存在,并可查询书刊存放地点。我设计的图书管理系统,功能包括:一图书管理系统:1 图书查询2 新书登记3 图书下架二读者信息管理:1办卡2信息 3挂失 4注销 5冻结三借阅管理系统:1借书(还书)2借阅信息管理系统的框图如下:系统登陆界面系统主界面图书管理系统读者信息管理借阅管理系统图书查询 新书登记 图书下架办卡 信息 挂失 注销 冻结 借书(还书) 借阅信息2.8 模块分析 上图是整个图书馆数据库管理系统的逻辑结构,概要设计中各个功能模块的划分就是依据上图来实现的。主要分成三个子模块:一 图书管理系统:1 图书查询:可以按照书号,书名,作者,出版单位分别单独查询,也可以结合查询,且均为不完整查询。2 新书登记:向图书数据库中写入书名,作者,单价,出版单位,库存,借书时限,另外书的编号会自动生成。3 图书下架:可以按照书名,书编号分别删除。二 读者信息管理:1 办卡:输入读者姓名,和借数限制,写入读者数据库,其中卡号自动生成,已借数,挂失,冻结采用默认值。2 信息:根据读者姓名查询读者个人信息。3 挂失:根据读者姓名挂失,修改读者表的挂失项,同时使该卡不能借阅图书,若读者找到卡,或者新办了卡,就通过解挂失按钮来解挂失。4 注销:根据读者姓名永久删除读者表中的该读者信息。5 冻结:类似挂失,当读者逾期未归还图书时,冻结项自动改变,使该卡不能节约图书,同时弹出提示信息,催缴图书。三 借阅管理系统:1 借书(还书):必须同时输入读者卡号和所借书的书编号才能借阅图书,借书前判断时候该书库存不足,该卡是否有挂失,注销,冻结现象。若存在,则不将借书信息写入借阅表,否则写入借阅表。2 借阅信息:根据读者的卡号查询读者的借阅信息,其中还包含到期图书查询,使管理员方便查询哪本书的借书期限已到。 以上各个模块在结构上是相互独立的,但每一部分在功能上存在相关的部分,具体可以参考后面的详细设计部分的结构流程图。第三章 设计过程详细论述3.1 Delphi设计软件组件分析以下只介绍,我所使用的Delphi组件,以及我在程序设计中的应用。1Standard栏的Lable组件,Edit组件,Memo组件,Button组件,Panle组件。分别简单介绍:Label部件 Label(标签)一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示,也可以用来显示其它信息。您可以在标签中设置热键,也即在Caption属性值段中输入含有“&”的字串,当用户使用“Alt+关键字母”时,将自动选中它所指向的对象。Edit部件 部件都是用作接收、显示用户输入文本的。ReadOnly在运行时间内控制对象是否可以进行Windows的操作,当此值为False时,该框内的文本就不能被复制到剪贴板上。MaxLength可以设置输入文本的长度限制。用PasswordChar属性可以按照显示隐蔽密码的方法显示用户输入文本Memo部件Memo是备注框,与以上对象不同的是,它可以接收多行文本输入。将ScrollBars设置成ssVertical,可以为它加上一个垂直的滚行条。Align属性调整该对象在窗口中的对齐情况,有alNone(无对齐指定)、alBottom(底部对齐)、alClient(全窗口显示)等可以选择;而Alignment属性则决定了文本在框中的对齐显示格式。Button部件按钮是Windows常用的部件,前文的例程中我们已经基本掌握了Button和BitBtn的主要用法。它们一般用在对话框中,做为执行某种功能的指示。您也可以为它们设置内置返回功能,将ModelResult属性加以匹配,可以不用编程,直接实现系统内置的功能,这一点上和Kind属性颇类似。Panle部件Panle有标题,可以用文字表征成组部件的标题或信息。Panel部件也可以达到将部件分组的目的。通过编程向窗口加一个操作板部件,以书写提示和帮助信息,也不失为一种好方法。2Additional栏的Bitbtn部件,Image部件。Bitbtn部件 与Button基本相同,不过可以在旁边加入图案,使按钮功能更鲜明。Image部件 图象部件Image在Additional页上,用来在窗口中显示一幅图片,可以在picture属性中调入图象文件。Delphi支持位图(.BMP)、图标(.ICO)、图元(.WFM)三种文件格式。比较重要的属性是Autosize和Strech。它们决定了图象在窗口中的显示尺寸。Autosize属性为True表示按原尺寸显示,Strech属性为True表示图象按对象图框的大小显示,这时图象的大小可以人为改变。3System中的Timer部件。计时器部件Timer 在System页上,还有一个(Timer计时器)部件,它能够有规律地触发OnTimer事件,发送信息给应用程序。它是编制应用程序时最为重要的部件之一。Enabled属性表示了计时器打开还是关闭;用Interval属性设置两个OnTimer事件间的间隔,单位是毫秒,也即千分之一秒。将间隔置为0相当于关闭计时器,Interval的最大允许值是32767,也即32.767秒。4Data Access栏中的DataSource部件DataSource部件,顾名思义是用来访问数据源的部件。5ADO栏中的ADOConnection部件,ADOQuery部件。ADOConnection部件 负责部相应的数据库进行连接的部件。它是存取磁盘上数据库表的媒介,它通过ADO存取数据库表中的数据,再与TDataSource 进行“对话”,使得数据浏览部件能够有效地从部件中访问数据并能显示和编辑其中的数据。ADOQuery部件 TQuery 并与TDataSource“对话”,实现数据浏览部件对数据库的访问。 6DataControl栏里的DBGrid部件DBGrid用来显示查询数据库得到的内容。3.2 后台数据库详细设计3.2.1 系统ER图读者姓名已借数借数限制 reader剩余天数借出时间单价book borrow书名书编号作者出版单位位位借书时限库存书编号卡号借书号卡号挂失冻结3.2.2根据系统ER图,应用SQLSever 2000,设计数据库,共分化成三个表:book,borrow,reader.分别截图如下.Book表Borrow表Reader表3.3 系统界面详细设计: 以下分别按照截图,说明,程序的顺序来说明各个界面。一系统登陆界面截图:系统登陆界面说明:1 对Form的AlphaBlendValue属性值设置为210,使界面半透明。2 确定按钮用的是Bitbtn,加了图标增加美感,而且用了AltX快捷键。3 密码是yutian,用户名默认。 登陆界面程序:确定按钮的程序: procedure TForm1.BitBtn1Click(Sender: TObject);beginif (edit2.Text=yutian)then beginform2.show;form1.hide;endelse showmessage(这个密码有问题!)end;二系统主界面截图:系统主界面说明:1 说明按钮弹出版本,个人信息,和制作日期。2 图书,读者,借阅,三个按钮分别用了快捷键。系统主界面程序:说明按钮程序:procedure TForm2.FormPaint(Sender: TObject);begincanvas.TextOut(100,300,作者:鲁雷);canvas.TextOut(100,330,版本1.01);canvas.TextOut(100,360,与2005.9.15制作);end;退出按钮程序:procedure TForm2.Button4Click(Sender: TObject);beginclose;end;图书按钮程序:procedure TForm2.Button1Click(Sender: TObject);beginForm3.show;Form2.hide;end;读者按钮与借阅按钮类似图书按钮。三图书管理系统界面截图:图书管理系统界面说明:1其中用了Timer部件,使界面呈现淡入淡出形式。2以上所有按钮都只用了跳转语句,没有特殊程序,不再赘述。3由于返回和退出按钮在各界面中程序基本相同,所以只说明一遍,以后不再重复。Timer部件程序:procedure TForm3.Timer1Timer(Sender: TObject);vartmp:Integer;begintmp:=AlphaBlendValue;if tmp=255 thenbegintmp:=255;Timer1.Enabled:=false;end;if(tmp=255) thenAlphaBlendValue:=tmp;end;四图书查询界面截图:图书查询界面说明: 1 可以按照书名,书号,出版单位,分别单独查询,也可以结合查询,且都是不完整查询,在提示按钮中有说明。2 进入界面是数据库显示框是隐藏的,点击确定才会显示,增加美观。3 显示book表的全部属性内容。图书查询界面程序:确定按钮程序:procedure TForm6.Button1Click(Sender: TObject);beginif(edit1.Text=)and(edit2.Text=) and (edit3.Text=)and (edit4.Text=)thenshowmessage(这就不太方便了!)else begin ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:=select * from book where 书名 like+%+Edit1.Text+%+ and 书编号 like+%+Edit2.Text+%+ and 出版单位 like+%+Edit3.Text+%+ and 作者 like+%+Edit4.Text+%+; ADOQuery1.Open; DBGrid1.show;end;end;五新书登记界面截图:新书登记界面说明:1 将书名,作者,单价,出版单位,库存,借书时限插入数据库中book表。书编号默认最大值插入。2 显示book数据库中的全部内容,方便管理。3 信息清除按钮,用来清除输入的文字,方便连续登记新书。新书登记界面程序: 确定按钮程序:procedure TForm8.Button1Click(Sender: TObject);varnewid: Integer;beginif (Edit1.Text=)or(Edit2.text=)or(edit3.text=)or(edit4.text=)or(edit5.text=)or(edit6.text=)then showmessage(让信息空着这样不礼貌!) else beginDBGrid1.show; ADOQuery1.SQL.Clear;ADOQuery1.Active:=false;ADOQuery1.SQL.Text:=SELECT MAX(书编号)from book;ADOQuery1.open;ADOQuery1.first;newid:=ADOQuery1.Fields.Fields0.AsInteger+1;ADOQuery1.close;ADOQuery1.SQL.Text:=insert into book values(+IntToStr(newid)+,+Edit1.Text+,+Edit2.Text+,+Edit3.Text+,+Edit4.Text+,+Edit5.Text+,+Edit6.Text+);ADOQuery1.ExecSQL;ADOQuery1.close;ADOQuery1.SQL.Text:=select * from book;ADOQuery1.Active:=true;end;end;信息清除按钮程序:procedure TForm8.Button3Click(Sender: TObject);beginedit1.Clear;edit2.Clear;edit3.Clear;edit4.Clear;edit5.Clear;edit6.Clear;end;六图书下架界面截图:图书下架界面说明:1 根据提示信息来删除图书,删除相应图书Book表中的相应元组。图书下架界面程序: 确定按钮程序: procedure TForm7.Button1Click(Sender: TObject);beginDBGrid1.show;ADOQuery1.SQL.Clear;if (Edit1.text=)and (edit2.Text=) then showmessage(那你让我删除什么?:))else begin ADOQuery1.Active:=false; ADOQuery1.sql.Text:=delete from book where 书名=+edit1.text+ or 书编号=+edit2.text+; ADOQuery1.ExecSQL; ADOQuery1.SQL.Clear; ADOQuery1.SQL.text:=select * from book; ADOQuery1.Active:=true; end;end;七读者办卡界面截图:读者办卡界面说明:1 输入读者姓名,和借数限制,将这两项写入数据库中的Reader表,其中其他信息采用默认值插入。2 显示该读者Reader表中全部属性信息。3 加入了Panle部件,使信息在同一窗口显示。(以下的Panle都是覆盖式的Panle )读者办卡界面程序: 确定按钮程序:procedure TForm4.Button7Click(Sender: TObject);varkahao: Integer;beginif(edit1.Text=)or(edit2.Text=) thenshowmessage(这个可不应该是空啊!)elsebeginADOQuery1.Active:=false;ADOQuery1.SQL.Text:=select max(卡号) from reader;ADOQuery1.Open;ADOQuery1.First;kahao:=ADOQuery1.Fields.Fields0.AsInteger+1;/ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:=insert into reader values(+IntToStr(kahao)+,+edit1.Text+,+IntToStr(0)+,+edit2.Text+,+IntToStr(0)+,+IntToStr(0)+);ADOQuery1.execsql;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:=select * from reader where 读者姓名=+edit1.text+;ADOQuery1.active:=true;end;end;八读者信息界面截图:读者信息界面说明:1 根据输入的读者姓名来查询读者Reader表中的信息。读者信息界面程序: 确定按钮程序:procedure TForm4.Button8Click(Sender: TObject);beginif (Edit3.text=) then showmessage(不允许输入这么奇怪的名字)else begin ADOQuery1.Active:=false; ADOQuery1.SQL.Text:=select * from reader where 读者姓名=+edit3.text+; ADOQuery1.Active:=true; end; end;九读者挂失界面截图:读者挂失界面说明:1 挂失按钮根据输入的读者姓名修改Reader表中挂失属性,将属性值False改为True。解挂失按钮,将True改为False。2 挂失统计按钮首先显示挂失读者的总数目,然后显示挂失读者的相应信息,方便管理员管理。 读者挂失界面程序: 挂失按钮程序:procedure TForm4.Button9Click(Sender: TObject);begin if (Edit4.text=) then showmessage(不允许输入这么奇怪的名字)else begin ADOQuery1.active:=false;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:=update reader set 挂失=1 where 读者姓名=+Edit4.Text+;ADOQuery1.SQL.Add(select * from reader);ADOQuery1.ExecSQL;ADOQuery1.Active:=true;end; end; 解挂失按钮与挂失按钮程序基本相同,只一条语句不同,如下:ADOQuery1.SQL.Text:=update reader set 挂失=1 where 读者姓名=+Edit4.Text+;挂失统计按钮程序:procedure TForm4.Button16Click(Sender: TObject);var gstj:Integer;beginADOQuery1.active:=false;ADOQuery1.SQL.Text:=select count(*) from reader where 挂失=1;ADOQuery1.Open; ADOQuery1.First;gstj:=ADOQuery1.Fields.Fields0.AsInteger;showmessage(被挂失的用户共+IntToStr(gstj)+个#13#10#13#10详情请点击确定查看);ADOQuery1.active:=false; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:=select * from reader where 挂失=1;ADOQuery1.Active:=true;end;十 读者注销界面截图:读者注销界面说明:1 根据输入的读者姓名,删除Reader表中相应的读者信息。2 显示剩余读者的信息。读者注销界面程序: 确定按钮程序:procedure TForm4.Button10Click(Sender: TObject);begin if (Edit5.text=) then showmessage(不允许输入这么奇怪的名字)else begin ADOQuery1.active:=false; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:=delete from reader where 读者姓名=+Edit5.Text+; ADOQuery1.SQL.Add(select * from reader); ADOQuery1.ExecSQL; ADOQuery1.Active:=true; end;end;十一.读者冻结界面截图:读者冻结界面说明:1 冻结按钮根据输入的读者姓名修改Reader表中的冻结属性,将冻结属性值从False修改为True,解冻结将True修改为False.。2 冻结统计按钮首先显示被冻结用户的总数,然后显示被冻结用户的详细信息。方便管理员管理。读者冻结界面程序: 冻结按钮程序:procedure TForm4.Button13Click(Sender: TObject);beginif (Edit6.text=) then showmessage(不允许输入这么奇怪的名字)else begin ADOQuery1.active:=false; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:=update reader set 冻结=1 where 读者姓名=+Edit6.Text+; ADOQuery1.SQL.Add(select * from reader); ADOQuery1.ExecSQL; ADOQuery1.Active:=true; end;end; 解冻结按钮与冻结按钮程序基本相同,只一条语句不同,如下:ADOQuery1.SQL.Text:=update reader set 冻结=1 where 读者姓名=+Edit6.Text+; 冻结统计按钮程序:procedure TForm4.Button15Click(Sender: TObject);var djtj:Integer;beginADOQuery1.active:=false; ADOQuery1.SQL.Text:=select count(*) from reader where 冻结=1; ADOQuery1.Open;ADOQuery1.First;djtj:=ADOQuery1.Fields.Fields0.AsInteger;showmessage(被冻结的用户共+IntToStr(djtj)+个#13#10#13#10详情请点击确定查看);ADOQuery1.active:=false; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:=select
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州大学《现代文学》2025-2026学年期末试卷
- 太原科技大学《经济法学》2025-2026学年期末试卷
- 苏州城市学院《社会学概论》2025-2026学年期末试卷
- 沈阳师范大学《草坪学》2025-2026学年期末试卷
- 沈阳音乐学院《小学教育学》2025-2026学年期末试卷
- 沈阳体育学院《运动生理学》2025-2026学年期末试卷
- 沈阳医学院《马克思主义市场经济学》2025-2026学年期末试卷
- 上海音乐学院《社会调查》2025-2026学年期末试卷
- 石家庄人民医学高等专科学校《会计学》2025-2026学年期末试卷
- 上海应用技术大学《数值分析》2025-2026学年期末试卷
- 慢阻肺合并心衰护理查房
- 内科护理面审题库大全及答案解析
- GB/T 46229-2025喷砂用橡胶软管
- 2025年中医肋骨骨折病历模板范文
- 2025-2030中国硅射频器件行业发展状况与应用趋势预测报告
- 4A级景区安全风险评估报告
- 医疗技术管理培训
- 公共路灯维护合同示范文本
- 2025P气瓶充装证考试及P气瓶充装模拟考试题库及答案
- 12YJ11 卫生、洗涤设施设计图集
- 2025年监理工程师继续教育考试题及答案
评论
0/150
提交评论