用delphi7设计的图书管理系统课程设计_第1页
用delphi7设计的图书管理系统课程设计_第2页
用delphi7设计的图书管理系统课程设计_第3页
用delphi7设计的图书管理系统课程设计_第4页
用delphi7设计的图书管理系统课程设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术与应用题目:数据库应用系统的设计和实现适用专业: 指导老师: 班级: 姓名: 学号: 2010年2月图书是人类文明的见证,随着高科技的发展各式各样图书越来越多,图书馆和书店的管理也越来越复杂。如今图书管理系统是一个书店或一个图书馆的必备系统。一个安全可靠并且对于用户比较实用的图书管理系统来说变得尤其重要。本次设计设计了一个在DELPHI平台基于SQL Server 2000开发出的图书管理系统。在系统的设计上面实现了该系统的交互式界面。从系统的需求分析、系统设计、系统实现入手,详细阐述了一个C/S结构的图书管理信息系统主要功能的实现过程。每一阶段均给出了相应的理论依据和实现内容,并介

2、绍了系统实现部分的主要算法。整个系统的设计与开发严格按照软件工程思想进行,从需求分析到系统设计和实现、从原型系统设计到迭代完善,本图书管理系统涵盖了六个主要的子系统:图书资料管理、读者资料管理、借书操作、还书操作、删除、修改和查询处理,提高了工作的准确率和效率。本图书管理信息系统是利用计算机管理信息处理的迅速、准确、可靠且具有强大存储能力的突出特点,全面提高图书馆的管理水平和工作效率,并以及时、完整的业务经营资料,为图书馆的及时转换提供一定的支持。关键词:数据库,SQL server 2000,Delphi 7,图书管理系统1.1 课题研究现状分析在现金信息化发达的社会,图书的发行量与日俱增。

3、因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。传统的图书馆需要制作有署名与对应编号的书卡,由读者按分类查找再交由图书管理员来处理借书工作,还书也要人工翻阅大量的记录,这样使得工作量大并及其繁琐,效率变得低下。建立网上电子图书管理系统的目的是实现无纸化图书管理,减轻管理员的工作量,方便读者查阅所需的图书,还可以利用网络实现提醒读者还书的功能。管理员还可以对各种图书进行分析统计,对过时、损坏的图书进行删除。达到降低成本提高工作效率的目标。1.1.1 本领域内已开展的研究工作1. 理论研究基础(1)数据库设计方法的完整化、多样化,又有多

4、学科的综合性。(2)数据库设计步骤的规范化和细致化。(3)数据库技术不断的更新,并不断增加新的技术,兼容性范围也逐渐扩大。2. 技术层面的支持SQL Server的普遍应用,并得到的用户的支持,与Windows操作系统的完全兼容性也决定了它在今天仍然有着庞大的使用群体。SQL Server2000作为后台数据库与前台开发软件Visual Basic、C#、Visual C+、Delphi等都能够无缝连接。1.1.2 已经取得的研究成果(1)开发出了一套系统的数据库理论,安全性、完整性、并发性、恢复性都有完整的概述。(2)随着Internet的迅猛发展,数据库在各个领域作为后台存储得到了广泛的支

5、持。(3)完善的数据库管理并与前台开发软件的结合使用开发了一系列优秀的图书管理系统,在商业、经济等方面得到了广泛的应用。1.2 选题的目的及意义目的:图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。提高图书馆的工作效率,降低管理成本。意义:通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。2.1 用户调查1.管理员对功能的需求 管理员对功能的需求细分如下: 读者基本信息的输入,查询,修改,删除; 书籍信息的输入,查询,修改,删除; 借书信息的输入。 还书信息的输入。2.读者对功能的需求 图书信息检索,范围可

6、按图书编号检索,最快时间查找目标书籍; 读者人个信息检索,获取当前读者的个人信息,修改个人信息;并根据学号查询当前读者当前的借书情况等。2.2操作流程图管理员登录1.管理员操作流程图删除功能修改功能查询功能录入功能2.普通用户操作流程图普通用户查询借书信息图书信息学生信息2.3对于这个图书管理系统管理系统,其主要通过四个表中的学号进行连接的,可以通过学号查出学生的基本信息,借阅情况及还书情况等数据库需要表述的信息有以下几种:(1)图书信息,(2)学生信息,(3)用户信息(4)还书信息学号可以用E/R模型表述该模型的设计,图如图3-1所示图书号学号班级图书借书学生管理姓名学号图书名称还书日图书号

7、还书情况管理管理图书名还书用户密码用户名2.4数据库逻辑结构设计通过E/R模型到关系模型的转化,可以得到如下关系模式:学生(学号,姓名,班级)图书(图书号,图书名称,学号)还书(图书号,学号,还书日期)用户(用户名,密码)每个关系模式的主码都用下划线标出。(1)学号是学生的主键,每个学生有唯一的学号。一个学生可以借阅不同的图书。(2)每一个图书对应唯一的图书编号,可以被不同的学生借阅。2.5数据库物理结构设计(1)数据类型(2)表的设计2.6视图的实现3 数据库行为功能设计3.1 安全控制任何数据库应用系统都需要安全控制功能,教学管理系统用户分为如下几类:(1)系统管理员:有系统的全部权限;(

8、2)普通用户:具有对数据的查询权。若为系统管理员 则直接进入欢迎界面若为普通用户,则直接进入查询系统执行操作的主界面3.2数据操作数据操作功能包括对这些数据进行录入、删除、修改功能。(1)数据录入只有管理员才能录入相应表中的数据。(2)数据删除只有管理员才能删除相应表中的数据。删除数据时要注意表之间的关联关系,在删除以前须提醒用户确认是否真的要删除此数据。(3)数据修改只有管理员才能修改相应表中的数据。查询要修改的内容修改具体的内容(4)数据查询学生信息查询还书项目查询:图书信息查询:实验心得 本设计使用Microsoft SQL Server 2000创建后台数据库,并且运用Delphi7制

9、作操作界面,实现对学生成绩管理系统的功能操作。通过对信息多种操作(录入、删除、查询、修改)等功能完成对学生成绩管理系统的操作管理。(1) 通过本次的课程设计,感觉到了知识的重要性和强大的应用能力,对数据库的强大的数据处理能力有了基本的了解;(2) 对Delphi技术有了深刻的认识,包括各种组件(Button,edit,label,Dbgit,Groupbox等)的作用,以及为了实现查询、修改、删除、录入等时源代码的语法语义有了最基本的了解 ;(3) 掌握了用Delphi连接数据库的Ado连接方法,让数据库的作用更加具体形象,可以在Delphi窗体上显示数据库中具体内容;(4) 培养了自己自学一

10、门新技术的能力,通过在图书馆查阅资料、在网上搜素等方法,同时认识到合作的重要性,通过与同学的交流让自己少走了很多的弯路;(5) 由于代码容易出现错误,需要有耐心,培养了科学严谨,精益求精的学习态度;(6) 通过这次课程设计,自己的独立分析问题和解决问题都有很大的提高;最后,感谢老师一个学期的教学授课,感谢对课题选择,制作方法等的耐心指导!附录(源代码)unit Unit7;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB,

11、ADODB;type TForm7 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; ADOConnection1: TADOConnection; ADOTable1: TADOTable; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declarations public

12、 Public declarations end;var Form7: TForm7;implementation$R *.dfm uses unit2, Unit1,unit4;procedure TForm7.Button1Click(Sender: TObject);var results:variant;begin ADOTable1.Close; ADOTable1.Open; ADOTable1.Active; results:=ADOTable1.Lookup('用户名',edit1.text,'密码');检索数据库中对应用户名的密码项 if ed

13、it1.Text='' then application.MessageBox('用户名不能为空!','提示',mb_ok) else if edit2.Text='' then application.messagebox('密码不能为空!','警告',mb_ok) else if (results)=edit2.Text then begin if edit1.Text = '管理员' then begin form1.Show; end else begin form4.sho

14、w; end end else showmessage('密码错误或用户不存在!'); edit1.Visible:=true; edit2.Visible:=true; edit1.Text:='' edit2.Text:='' end;procedure TForm7.Button2Click(Sender: TObject);beginform7.Close;end;end.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, C

15、ontrols, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Image1: TImage; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TF

16、orm1;implementationuses Unit2;$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);beginform2.show;end;procedure TForm1.Button2Click(Sender: TObject);beginform1.Close;end;end.unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type

17、TForm2 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private Private decl

18、arations public Public declarations end;var Form2: TForm2;implementationuses Unit3, Unit4, Unit5, Unit6;$R *.dfmprocedure TForm2.Button1Click(Sender: TObject);beginform3.show;end;procedure TForm2.Button2Click(Sender: TObject);beginform4.show;end;procedure TForm2.Button3Click(Sender: TObject);beginfo

19、rm5.show;end;procedure TForm2.Button4Click(Sender: TObject);beginform6.show;end;end.unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;type TForm3 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Label2

20、: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; ADOConnection1: TADOConnection; ADOTable1: TADOTable; DataSource1: TDataSource; DBGrid1: TDBGrid; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);

21、private Private declarations public Public declarations end;var Form3: TForm3;implementation$R *.dfmprocedure TForm3.Button1Click(Sender: TObject);beginadotable1.Close; adotable1.Open; if (edit1.Text='')or(edit1.Text='')or(edit3.Text='') thenbeginapplication.MessageBox('信

22、息不完整!','错误操作',mb_ok);exit;end ; with adotable1 do begin open; adotable1.insertrecord(edit1.text,edit2.text,edit3.text) ; edit; post; edit1.text:='' edit2.text:='' edit3.text:='' application.MessageBox('信息已录入!','确认',mb_ok); adotable1.Close; ADOTABLE

23、1.Open;end;end;procedure TForm3.Button2Click(Sender: TObject);beginform3.Close;end;end.unit Unit4;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB;type TForm4 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; But

24、ton1: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DBGrid1: TDBGrid; DataSource1: TDataSource; Edit1: TEdit; ComboBox1: TComboBox; Label2: TLabel; Label3: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private dec

25、larations public Public declarations end;var Form4: TForm4;implementation$R *.dfm procedure TForm4.Button1Click(Sender: TObject); varsql:string; begin DBgrid1.Visible:=true;DBgrid1.Font.Color:=clteal;if (combobox1.text='图书信息') thenbeginif (edit1.text='') thenbegin MessageBox(handle,&

26、#39;请输入,不能为空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else begin sql:='where ( 图书号='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add('select * from 图书表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查询完毕!',&

27、#39;提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; edit1.Text:='' end ; end else if (combobox1.text='还书项目') thenbeginif (edit1.text='') thenbegin MessageBox(handle,'请输入,不能为空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else begin sql:='where ( 学号=

28、'''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add('select * from 还书表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查询完毕!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; edit1.Text:='' end ; end else if (combo

29、box1.text='学生信息') thenbeginif (edit1.text='') thenbegin MessageBox(handle,'请输入,不能为空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else begin sql:='where ( 学号='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add

30、('select * from 学生信息表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查询完毕!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; edit1.Text:='' end ; end;end;procedure TForm4.Button2Click(Sender: TObject);begin form4.Close;end;end.unit Unit5;interfaceuses Windows, Messag

31、es, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;type TForm5 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button2: TButton; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit

32、4: TEdit; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private Private declarations public Public declarat

33、ions end;var Form5: TForm5;implementation$R *.dfmprocedure TForm5.Button1Click(Sender: TObject); varsql:string; begin DBgrid1.Visible:=true;DBgrid1.Font.Color:=clteal;if (edit1.text='') thenbegin MessageBox(handle,'请输入,不能为空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else

34、begin sql:='where ( 学号='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add('select * from 还书表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查询完毕!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; end;end;procedure TF

35、orm5.Button2Click(Sender: TObject);beginDBgrid1.Visible:=true; DBgrid1.Font.Color:=clteal; if (edit2.Text='')or(edit3.Text='')or(edit4.Text='') thenbeginapplication.MessageBox('信息不完整!','错误操作',mb_ok);exit;end ; with adoquery1 do begin Close; sql.Clear;SQL.Add(&

36、#39;Update 还书表 SET 学号= :A,图书号= :B,还书日= :C where 学号='+Edit1.Text);Parameters.ParamByName('A').Value:=Edit2.Text;Parameters.ParamByName('B').Value:=Edit3.Text;Parameters.ParamByName('C').value:=Edit4.Text; execsql; close; sql.Clear; edit1.text:='' edit3.text:='' edit4.text:='' edit2.text:='' application.MessageBox(&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论