图书馆管理系统ER图
图书馆管理系统E-R图

图书馆管理系统E-R图(总24页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March要:图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。
从而使人们有更多时间来获取信息、了解信息、掌握信息。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
采用SQL Server2005数据库作为后台数据库、Visual C#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。
系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员两方面的需要,达到了设计要求。
关键词:图书管理;系统设计;信息;;SQLServer20051 引言随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。
图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。
因此图书管理信息化是发展的必然趋势。
用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。
1.1 图书管理的现状一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。
在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。
一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。
图书管理系统er图92469

图书管理系统er图92469图书馆管理系统一、系统概述1.1系统开发背景和意义图书管理是高校内每一个系部或院部都必须切实面对的工作,人工方式管理图书资料方式存在着许多缺点,如效率低、保密性差且较为繁琐。
另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。
随着科学技术的不断提高,计算机为基础的信息管理方法必然取代这种传统的人工管理方法。
图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高图书管理的效率。
因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,是非常必要的。
1.2系统开发环境本系统为图书馆管理系统,采用 C++ Builder 作为系统开发工具,SQL Server 2000作为数据库工具。
本系统的主要功能为图书信息和读者信息查询以及图书借阅和图书归还。
登录账号为1,密码为空。
其它登录账号和密码详见数据库表“用户清单”。
图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
因此我们结合开入式图书馆的要求,对SQL Server2000数据库管理系统、C++ Builder应用程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
系统运行结果证明,本文所设计的图书管理系统可以基本满足查询和借阅的需要。
二、系统功能需求分析图书馆管理系统图图读书书流者管管通理管理理读图者书图图信信书书息息借归管管阅还理理需求结构说明:图书馆管理系统的功能目标分成三块:读者信息管理,图书信息管理,图书流通管理,其中图书流通管理下设两个分功能,即图书借阅和图书归还。
图书馆借阅管理信息系统E-R图

图书馆借阅管理信息系统E-R图辽宁经济管理⼲部学院(辽宁经济职业技术学院)图书馆管理信息系统⽹络结构图、数据关系图、E-R图简述⼀、⽹络结构图概述辽宁经济职业技术学院图书馆主要选择百兆以太⽹技术来构建图书馆⽹络,对两层结点和桌⾯微机的接⼊也采⽤快速以太⽹,建⽴⼀个基于多层、全交换的虚拟园区⽹。
从图书馆的建筑结构来说,⼀般以楼层为单位,整个楼可以作为⼀个相对独⽴的⽹络应⽤单元考虑,多个功能相近的楼层形成⼀个局域群。
每层楼通过⼀台⼆层交换机来连接该层信息点,整个楼⽤⼀台三层交换机作为楼宇汇聚。
图1-1⼆、数据关系图概述功能说明:系统功能分析是在系统开发的总体任务的基础上完成。
本系统需要完成的功能主要有5部分:A图书基本情况的录⼊,修改,删除等基本操作。
1.书籍类别标准的制定,类别信息的输⼊,包括类别编号,类别名称,关键词,备注信息等。
2.书籍类别信息的查询,修改,包括类别编号,类别名称,关键词,备注信息等。
3.书籍信息的输⼊,包括书籍编号,书籍名称,书籍类别,作者名称,出版社名称,出版⽇期,书籍页数,关键词,登记⽇期,备注信息等。
B办理借书卡模块。
1.新⽣办理借书证。
2.丢失办理借书证。
C实现借书功能。
1.借书信息的输⼊,包括借书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书⽇期,备注信息等。
2.借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书⽇期,备注信息等。
D实现还书功能。
1.还书信息的输⼊,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书⽇期,还书⽇期,备注信息等。
2.还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书⽇期,还书⽇期,备注信息等。
E能⽅便的对图书进⾏查询。
对超期的情况能⾃动给出提⽰信息。
性能要求正确性,可靠性,效率,完整性,易使⽤性,可维护性,可测试⾏,复⽤性,安全保密性,可理解性,可移植性,互联性。
图书馆管理系统+含ER图

1数据库设计
针对图书馆管理系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计出如下的数据项
书库图书信息,包括数据项有:图书编号、书名、书号、类别、出版社、作者、ISBN、印张、字数、版次、印数、定价、开本、是否在库、是否损坏、是否遗失、入库时间、图书介绍
学生信息,包括数据项有:学生编号、学号、姓名、性别、系别、班级、级别、已借图书、照片
借书信息,包括数据项有:图书编号、学生编号、是否归还、书名、姓名、学号、书号、系别、班级、已借图书、出版社、作者、借阅日期、图书类别、是否续借
供货商信息,包括数据项有:供货商序号、供货商、城市、地址、电话、传真、邮政编码、EMAIL、联系人、首次合作时间
定单信息,包括数据项有:定单序号、书名、书号、类别、出版社、作者、ISBN、印张、字数、版次、印数、定价、开本、详细信息、供货商序号、供货商、联系人、城市、订购数量、订购价格、交付方式、交货日期、定单日期、是否验收、验收日期
过期图书信息,包括数据项有:图书编号、书名、书号、学生序号、学生姓名、系别、班级、过期时间
员工信息,包括数据项有:员工序号、姓名、密码、类别、性别、家庭住址、联系电话、职务、出生日期、照片
罚款信息,包括数据项有:流水号、罚款原因、罚款金额、日期。
图书馆管理系统E-R图

图书馆管理系统E-R图(总24页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March要:图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。
从而使人们有更多时间来获取信息、了解信息、掌握信息。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
采用SQL Server2005数据库作为后台数据库、Visual C#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。
系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员两方面的需要,达到了设计要求。
关键词:图书管理;系统设计;信息;;SQLServer20051 引言随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。
图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。
因此图书管理信息化是发展的必然趋势。
用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。
1.1 图书管理的现状一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。
在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。
一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。
图书馆书籍管理E-R图

图书馆书籍管理系统
功能:
图书借阅管理。
可查看图书状态,和学生的借阅情况等等。
图书馆管理涉及的实体有:
书架属性有书架号、位置、层数
书籍属性有书籍号、书架号、书名、种类、数量、状态
学生属性有学号、姓名、班级、书籍号
这些实体之间的联系如下:
1.一个书架存放多本书籍,一本书籍也可以存放在多个书架。
因此书架和书籍之间是多对
多的关系。
2.一本书可以借给多个学生,一个学生也可以借多本书。
因此书籍和学生之间是多对多的
关系。
图书馆实体-联系图
组长:易霜霜
组员:武绍伟石林
江丹。
图书管理系统数据模型ER图

书籍类别信息实体 E-R 图
书籍信息实体 E-R 图
借阅信息实体E-R图
总的ER图:
(二)建立功能模型
建立系统的功能模型(数据流图),定义软件应完成的功能。图书管理系统需要实现的功能主要有四大块:“日常工作管理”、“基本资料维护”、“查询”、和“系统管理”模块。其中日常工作管理和基本资料维护是整个系统的核心。
三、实验原理及步骤要求:
需求分析是对问题进一步发现、求精、建模、规格说明和复审的过程。用户需求可分成两类:功能性需求:定义系统做什么;非功能性需求:定义系统工作时的特性。用户需求的内容包括:功能、性能、环境、界面、用户因素、文档、数据、资源、安全保密、软件成本消耗与开发进度、质量保证等各个方面。根据系统分析,图书管理系统的要求如下:
管理员信息实体er图家庭住址家庭住址联系电话管理员性别管理员类别管理员姓名学历出生日期身份证号管理员号入馆时间备注读者信息实体er图家庭住址联系电话家庭住址联系电话读者性别读者姓名学历身份证号读者编号备注工作单位办证日期失效日期可借书总数已借书数借阅卡类别编号借阅卡类别名称书籍类别信息实体er图书籍类别书籍类别书籍类别名称书籍类别编号书籍信息实体er图出版日期出版日期书籍单价书籍数量书籍类别出版社名称学历书籍名称类别名称书籍编号书籍作者备注原库存借阅信息实体er图借出日期借出日期书籍类别借阅信息书籍编号读者姓名库存量作者书籍名称读者证号备注类别名称书籍作者应还日期可借书总数已借书数罚款金额可借书总数还回日期总的er图
1.“日常工作”模块:
(1)借书处理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、还书期限、操作员姓名。
(2)还书处理:主要功能是输入借阅证编号、图书ID,在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅历史记录表中。
图书馆管理系统业务流程图 数据流程图 ER图

图书馆管理系统开发设计方案1需求分析1.1 目前图书馆管理系统存在问题1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
3)图书统计工作难、藏书更新不能及时完成。
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。
1.2 系统目标本系统主要实现对图书馆的信息进行管理,图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。
本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理。
图书馆管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。
但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
理工大学《程序设计实践》课程设计报告邹松林学院计通学院专业计算机科学与技术班级计算机03-05 学号27学生邹松林指导教师卢曼莎课程成绩完成日期2006年9月20号图书馆管理系统数据库分析与设计学生:邹松林指导老师:卢曼莎摘要:图书信息管理系统主要由读者信息管理模块,图书信息管理模块,借阅信息管理模块,系统信息管理模块等组成。
其中又各自分成读者注册,证件修改,用户注销,图书查询,操作记录等子模块。
在设计本系统过程中,我们第一步由自顶而下的需求分析概括设计出系统总模块的数据流图,再设计个子模块的相应数据流图,列出数据流信息及数据字典;第二步概念设计在需求分析基础上用E-R图表示出数据及相互间联系,采用先作子图,再合并成初步E-R图,进行修改和重构后得到基本E-R图;第三步逻辑设计,在SQL Server的设计环境下把图书馆管理系统E-R图转化为成逻辑数据模型表示的逻辑模式,同时实现数据模型的优化和数据模式的规化;第四步进行物理设计设计数据的模式,确定数据的存储结构,存取路径,存储空间分配等等,具体形式为表,视图,索引的建立。
关键字:数据库,SQL语言,MS SQL Server,图书管理1 需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据,数据结构以及数据处理的流程,为后面的具体设计打下基础。
在仔细分析调查有关图书馆管理信息需求的基础上,我们主要考虑以下几个方面的需求:1) 用户需求:图书用户要求计算机系统和SQL Server所工作的围;2) 应用资源:数据库应用的平台包括物理平台和图书等;3) 应用质量和可靠性要求:包括操作人员素质和系统的纠错能力等1.1 项目名称:图书馆信息管理系统1.2 项目背景和容概要对图书馆管理信息系统进行详细地分析后,我们将系统分为以下几个模块:借阅管理模块、借书证信息管理模块、图书信息管理模块、系统管理模块。
其主要功能如下: 借阅管理模块主要功能如下:1).可以为读者办理,修改,注销借书证,输入读者借书证基本信息等,定制读者的借阅权限。
2).可以通过借书证查询图书信息、借出图书信息,借阅图书。
3).通过借书证还书,管理员可以通过对借阅信息的管理对到期还未还的书,通过查询读者的借书证信息查询读者联系方式发出催还通知。
●借书证信息管理模块主要功能如下:1).读者基本信息的输入,如:读者、性别、单位等。
2).读者信息的修改、注销等功能。
3).添加新的读者及其信息等。
●图书信息管理模块主要功能如下:1).定制书籍的各种信息管理,如:书名、作者、出版信息等。
2).书籍信息的修改,新图书的入库管理和图书的注销等。
●系统管理模块主要功能如下:1).用户登录。
2).修改密码。
3).添加用户。
●系统备份和数据传输模块主要功能如下:1).备份数据库数据2).恢复数据库数据3).网络数据传输1.3 数据流图●数据流总体图示图1-1 数据流总体图●办理借书证图1-2 输借书证流图●借书证修改图1-3 借书证修改流图●借书证注销图1-4借书证注销流图●借书系统不能借书的原因图1-5借书系统流图检索系统●还书系统●●图书档案管理系统Array图1-8 档案管理流图1.4 数据字典表1数据字典2 概念结构设计这一阶段我们将客户的应用需求抽象为信息世界的结构,即对系统的人、物、事和概念进行人为处理,抽取人们所关心的共同特性,同时把这些特性用概念精确的描述。
我们首先根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部E-R图,然后合并成初步E-R图,再进行修改与重构。
2.1局部E-R图图书信息管理系统主要分为以下几个局部E-R图:1).借书证处理系统ER图:图2-1 借书证处理系统ER图图中各实体属性如下:读者档案:学号,读者,性别,出生日期,借书证号,职业,单位,通讯地址,邮政编码,联系借书证:借书证号,,性别,办证日期,借阅围,最大借书量,照片,号管理员:管理员编号,管理员,登陆密码2).图2-2借书系统ER图图中各实体属性如下:读者:号,读者,借书证号借书证:借书证号,,性别,办证日期(借阅围,最大借书量,照片,号)库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期3).图2-3索书系统ER 图图中各实体属性如下: 读者:读者,借书证号图书档案:图书编号,书号,书名,作者,出版单位,出版日期,单价,藏书册书,类别,入库日期图2-4 还书系统ER 图图中各实体属性如下:读者:学号,读者,借书证号 借书证:借书证号,,性别,办证日期 库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期 管理员:操作员编号,管理员,登陆密码N5)图2-5 档案管理系统ER图图中各实体属性如下:管理员:操作员编号,管理员,登陆密码库存信息:书号,图书编号图书档案:图书编号,书号,书名,作者,出版单位,出版日期,单价,类别,入库日期入库清单:入库日期,图书编号,管理员编号,书名6). 整体E-R图图2-6 整体ER图图中各实体属性如下:读者档案:学号,读者,性别,借书证号,单位借书证:借书证号,,性别,办证日期管理员:操作员编号,管理员,登陆密码库存信息:书号,图书编号借出信息:图书编号,借书证号,借书日期,归还日期图书档案:书号,书名,作者,出版单位,出版日期,单价,类别,藏书册书,图书编号入库日期2.2 实体描述说明:1、由于读者的信息可以在借书证办理档案中查到所以合并为借书证办理档案2. 将借出书库和入库清单分别合并到了借书登记表和图书信息表中表2 实体描述2.3 关系描述(已包含在E-R图中)2.4 实体--关系调整(实体描述表中已消除冗余实体和关系)2.5 数据项定义1).图书库的数据项定义:表3 图书库数据项定义2).借、还书库的数据项定义:表4借、还书库数据项定义3).借书证库的数据项定义:表5借书证库数据项定义4).操作员库的数据项定义:表6操作员库数据项定义2.6数据表(库)描述图书数据库=图书书名+图书编号+著者++单价+书号+出版时间借书库=+借书证号++教师+图书名称+借书日期+还书日期教师数据库=+借书证号+单位操作员库=操作员用户名+口令2.7 系统功能模块图软件功能结构图:图2-7 软件功能结构2.8 系统流程图:图2-8 系统流程图3 逻辑结构设计为了能够用计算机和SQL Server实现用户需求,可将概念结构转化为相应的数据模型,即是设计逻辑结构。
即由E-R图建立了适当的表,并按不同的式的定义,对表进行规化。
对规化的表,更据用户需求建立数据库结构。
3.1 确定数据依赖3.2 数据依赖的优化与调整3.2.1关系模式的优化(1) 借书证信息:借书证(借书证号,,性别,单位,发证日期,已借书册书,是否容许借书) 满足BCNF式(2) 管理员信息:管理员信息(管理员编号,管理员,登陆密码)满足BCNF 式(3) 库存信息:库存信息(图书编号,书号) 满足BCNF 式(4) 借书信息:借书信息(图书编号,借书证号,,书名,借书日期,是否归还)满足BCNF 式(5) 还书信息:还书信息(,图书编号,书名,借出日期,还书日期)满足BCNF 式(6) 图书信息:图书档案(图书编号,书名,作者,图书类别,单价,,进册书,库存量)均满足BCNF式(7) 入库清单:入库清单(图书编号,管理员编号,书名,入库日期)满足BCNF式3.2.2关系模式的调整虽然在关系模式的优化中将各种关系满足了BCNF式的要求,但是对某些数据库的操作却并没有简化,相反导致了数据库查询等数据库操作的效率低下。
于是对‘借书证信息’,和‘图书信息’作出了以下调整。
(1) 借书证信息:借书证(借书证号,,性别,办证日期,单位,已借书册数,借书许可,)(3NF)(2) 图书信息:图书档案(图书编号,书名,作者,出版单位,单价,图书类别,进册数,入库量)(2NF)4 代码设计图书管理系统部分源代码[图书外借情况查询代码]tempstr=allt(thisform.container1.text1.value)tempstr="%"+tempstr+"%"if bo1.text="借书证号"select * from 借书登记表where 借书登记表.借书证号like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=""select * from 借书登记表where 借书登记表. like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text="图书编号"select * from 借书登记表where 借书登记表.图书编号like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text="书名"select * from 借书登记表where 借书登记表.书名like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text="是否归还"select * from 借书登记表where 借书登记表.是否归还like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifthisform.container1.text1.value=""[图书外借和归还情况查询代码]tempstr=allt(thisform.container1.text1.value)tempstr="%"+tempstr+"%"if bo1.text="借书证号"select * from 还书登记表where 还书登记表.借书证号like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text=""select * from 还书登记表where 还书登记表. like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text="图书编号"select * from 还书登记表where 还书登记表.图书编号like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifif bo1.text="书名"select * from 还书登记表where 还书登记表.书名like tempstr into cursor tempcursor thisform.grid1.recordsource=tempcursorthisform.refreshendifthisform.container1.text1.value=""[存储过程代码]procedure rideletelocal llretvalllretval=.t.if (isrlocked() and !deleted()) or !rlock()llretval=.f.elseif !deleted()deleteif cursorgetprop('buffering') > 1=tableupdate()endifllretval=pnerror=0endif not already deletedendifunlock record (recno())return llretvalprocedure riupdatelparameters tcfieldname,tcnewvalue,tccascadeparentlocal llretvalllretval=.t.if isrlocked() or !rlock()llretval=.f.elseif eval(tcfieldname)<>tcnewvalueprivate pccascadeparentpccascadeparent=upper(iif(type("tccascadeparent")<>"c","",tccascadeparent)) replace (tcfieldname) with tcnewvalueif cursorgetprop('buffering') > 1=tableupdate()endifllretval=pnerror=0endif values don't already matchendif it's locked already, or i was able to lock itunlock record (recno())return llretvalprocedure rierrorparameters tnerrno,tcmessage,tccode,tcprogramlocal lnerrorrows,lnxxlnerrorrows=alen(gaerrors,1)if type('gaerrors[lnerrorrows,1]')<>"l"dimension gaerrors[lnerrorrows+1,alen(gaerrors,2)]lnerrorrows=lnerrorrows+1endifgaerrors[lnerrorrows,1]=tnerrnogaerrors[lnerrorrows,2]=tcmessagegaerrors[lnerrorrows,3]=tccodegaerrors[lnerrorrows,4]=""lnxx=1do while !empty(program(lnxx))gaerrors[lnerrorrows,4]=gaerrors[lnerrorrows,4]+","+;program(lnxx)lnxx=lnxx+1enddogaerrors[lnerrorrows,5]=pcparentdbfgaerrors[lnerrorrows,6]=pnparentrecgaerrors[lnerrorrows,7]=pcparentidgaerrors[lnerrorrows,8]=pcparentexprgaerrors[lnerrorrows,9]=pcchilddbfgaerrors[lnerrorrows,10]=pnchildrecgaerrors[lnerrorrows,11]=pcchildidgaerrors[lnerrorrows,12]=pcchildexprreturn tnerrnoprocedure riopenparameters tctable,tcorderlocal lccurwkarea,lcnewwkarea,lninusespotlninusespot=atc(tctable+"*",pcricursors)if lninusespot=0lccurwkarea=select()select 0lcnewwkarea=select()if not empty(tcorder)use (tctable) again order (tcorder) ;alias ("__ri"+ltrim(str(select()))) shareelseuse (tctable) again alias ("__ri"+ltrim(str(select()))) shareendifif pnerror=0pcricursors=pcricursors+upper(tctable)+"?"+str(select(),5)elselcnewwkarea=0endif something bad happened while attempting to open the fileelselcnewwkarea=val(substr(pcricursors,lninusespot+len(tctable)+1,5)) pcricursors = strtran(pcricursors,upper(tctable)+"*"+str(lcnewwkarea,5),;upper(tctable)+"?"+str(lcnewwkarea,5))if not empty(tcorder)set order to (tcorder) in (lcnewwkarea)endif sent an orderif pnerror<>0lcnewwkarea=0endif something bad happened while setting orderendifreturn (lcnewwkarea)procedure riendparameters tlsuccesslocal lnxx,lnspot,lcworkareaif tlsuccessend transactionelseset deleted offrollbackset deleted onendifif empty(pcriolderror)on errorelseon error &pcriolderror.endiffor lnxx=1 to occurs("*",pcricursors)lnspot=atc("*",pcricursors,lnxx)+1use in (val(substr(pcricursors,lnspot,5)))endforif pcoldcompat = "on"set compatible onendifif pcolddele="off"set deleted offendifif pcoldexact="on"set exact onendifif pcoldtalk="on"set talk onendifdo casecase empty(pcolddbc)set data tocase pcolddbc<>dbc()set data to (pcolddbc)endcasereturn .t.procedure rireuse* rireuse.prgparameters tctablename,tcwkareapcricursors = strtran(pcricursors,upper(tctablename)+"?"+str(tcwkarea,5),;upper(tctablename)+"*"+str(tcwkarea,5))return .t.********************************************************************* ************* "参照完整性删除触发器" 借书证信息表procedure __ri_delete_借书证信息表local llretvalllretval = .t.private pcparentdbf,pnparentrec,pcchilddbf,pnchildrec,pcparentid,pcchildidprivate pcparentexpr,pcchildexprstore "" to pcparentdbf,pcchilddbf,pcparentid,pcchildid,pcparentexpr,pcchildexpr store 0 to pnparentrec,pnchildrecif _triggerlevel=1begin transactionprivate pcricursors,pcriwkareas,pcriolderror,pnerror,;pcolddele,pcoldexact,pcoldtalk,pcoldcompat,pcolddbcpcoldtalk=set("talk")set talk offpcolddele=set("deleted")pcoldexact=set("exact")pcoldcompat=set("compatible")set compatible offset deleted onset exact offpcricursors=""pcriwkareas=""pcriolderror=on("error")pnerror=0on error pnerror=rierror(error(),message(),message(1),program())if type('gaerrors(1)')<>"u"release gaerrorsendifpublic gaerrors(1,12)pcolddbc=dbc()set data to ("tsglxt")endif first triggerlocal lcparentid && parent's value to be sought in childlocal lcchildwkarea && child work area handle returned by riopenlocal lcparentwkarealocal lldelheaderarealcstartarea=select()llretval=.t.lcparentwkarea=select()select (lcparentwkarea)pcparentdbf=dbf()pnparentrec=recno()store 借书证号to lcparentid,pcparentidpcparentexpr="借书证号"lcchildwkarea=riopen("还书登记表","借书证号")if lcchildwkarea<=0if _triggerlevel=1do riend with .f.endif at the end of the highest trigger levelreturn .f.endif not able to open the child work areapcchilddbf=dbf(lcchildwkarea)llretval=!seek(lcparentid,lcchildwkarea)select (lcchildwkarea)pnchildrec=recno()pcchildid=借书证号pcchildexpr="借书证号"if !llretvaldo rierror with -1,"违反删除限制规则。