欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    sql delphi 图书管理系统实验报告.doc

    • 资源ID:2386492       资源大小:2.84MB        全文页数:31页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    sql delphi 图书管理系统实验报告.doc

    SQL Serve数据库 课 程 设 计设计选题:图书管理系统班 级:电气工程及其自动化1004设 计 人:刘硕果学 号:0909102825 辅导教师:董密目录一、摘要二、需求分析2.1 功能划分与描述2.2 安全性需求三、系统数据结构3.1系统实体ER图四、各子系统功能分析与程序代码设计4.1 登陆界面4.2 主界面4.3 新书入库4.4 借书还书4.5 查询4,6 办理会员4.7 解除会员五、实验体会六、参考文献一、摘要随着人类社会的发展,书籍渐渐地成为人们获取并增长知识的主要途径,而图书馆就理所当然的在人们的生活中占据了一定的位置,如何科学合理的管理图书馆不但关系到读者求知的方便程度,也关系到图书管的发展,因此,开发一套完善的图书管理系统,是必不可少的了。本系统是由delphi 7前台和SQL serve 2005相结合而完成的。本文主要是介绍图书管理系统的环境、功能作用、所用到的语言、设计的方案等各方面的内容。主要是让使用者了解此系统,使他们能更好的运用本系统,使此系统发挥出应有的作用。关键字 图书管理系统 Delphi 7.0 SQL Server 2005数据库二、需求分析 随着学校规模的不断扩大,图书数量的急剧增加,有关图书的信息量也在不断成倍增长。面对庞大的信息量,就需要有图书管理系统来提高图书管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。 传统手工的图书管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了图书管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。2.1功能划分与描述图书管理系统主要实现以下功能:a.图书入库 主要整理图书的数量、类别和各种相关的信息等。b.查询 主要查询图书的数量、类别、借出情况和各种相关的信息等。c.修改、删除信息 修改、删除图书相关信息等。d.图书借还 对读者借阅 归还信息进行办理和查询。e.系统管理 为系统的使用者进行帐户和密码管理以及基础数据维护。f.办理、解除会员 对读者信息进行管理和维护。2.4 安全性需求管理员有权力行使所有的管理功能,。三、系统数据结构3.1系统实体E-R图管理员登陆退出关于系统解除会员办理会员新书入库借书还书查询3.2数据库设计3.2.1关系图 3.2.2基本表的建立由数据模型利用SQLsever2005进行数据库的详细设计,本系统设计的数据库名为图书管理系统,其基本表的设计如下:管理员表:图书信息表:借书情况表:图书类别表:会员表:四、 各子系统功能分析与程序代码设计4.1登录界面:unit Unit8;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, jpeg, ExtCtrls;type TForm8 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; Image1: TImage; Image2: TImage; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private Private declarations public Public declarations end;var Form8: TForm8; a:integer=0;implementationuses Unit1;$R *.dfmprocedure TForm8.Button2Click(Sender: TObject);begin if (edit1.Text='')or (edit2.Text='') then begin Application.MessageBox('用户名称或密码不能为空!','提示',0+64); end else begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from manager where 登录账号=:rno and 密码=:rpassword'); adoquery1.Parameters.ParamByName('rno').Value := trim(edit1.Text); adoquery1.Parameters.ParamByName('rpassword').Value := trim(edit2.Text); adoquery1.Open; if adoquery1.RecordCount<>0 then begin form8.hide; main.Show; end else begin Application.MessageBox('用户名或密码不正确,请重新输入!','提示',0+64); edit2.Clear; a:=a+1; end; if a=3 then begin Application.MessageBox('对不起,您输入错误次数已经达到三次,请联系管理员!','提示',0+64); Application.Terminate ; end; end;end;procedure TForm8.Button1Click(Sender: TObject);beginif application.MessageBox('确定退出登录吗?','确认',mb_iconinformation+mb_okcancel+mb_defbutton1)=idokthenform8.close;end; procedure TForm8.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if key=13 then Button2click(sender);end;procedure TForm8.Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if key=13 then Button2click(sender);end;end.4.2主界面:4.3新书入库:procedure Tin_book.Button1Click(Sender: TObject);beginadoquery1.Close;adoquery1.SQl.Clear;adoquery1.SQL.Add('select * from book where 图书编号= '''+edit1.text+'''');adoquery1.Open;if adoquery1.recordcount<>0then showmessage('已有此号,图书编号可能出错,请重新输入') else begin adoquery1.Close; adoquery1.SQl.Clear; adoquery1.SQL.Add('exec insert2 '''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''','''+combobox1.Text+''','''+edit5.Text+''','''+edit7.Text+''','''+edit6.Text+''','''+edit8.Text+''''); adoquery1.execsql; close; showmessage('入库成功');end;end;procedure Tin_book.Edit6KeyPress(Sender: TObject; var Key: Char);beginif not (key in '0'.'9','.',#8) thenbeginkey:=#0;showmessage('该项只能写入数字');end;end;procedure Tin_book.Edit8KeyPress(Sender: TObject; var Key: Char);beginif not (key in '0'.'9',#8) thenbeginkey:=#0;showmessage('该项只能写入数字');end;end;procedure Tin_book.Edit7KeyPress(Sender: TObject; var Key: Char);beginif not (key in '0'.'9','-',#8) thenbeginkey:=#0;showmessage('输入违反规则');end;end;end.procedure Tmain.ToolButton4Click(Sender: TObject);beginsearch.ShowModal;end;procedure Tmain.ToolButton5Click(Sender: TObject);beginin_people.ShowModal;end;4.4借书还书:procedure Tinout_book.Button2Click(Sender: TObject);var sh :string;begin with adostoredproc1 do begin close; Parameters.ParamByName('pno').Value := edit2.Text ; Parameters.ParamByName('bno').Value := edit1.Text ; Parameters.ParamByName('num').Value := edit3.Text ; Parameters.ParamByName('sh').Value := '' ExecProc; sh := Parameters.ParamByName('sh').Value; showmessage(sh); end;end;procedure Tinout_book.Button3Click(Sender: TObject);beginadoquery2.Close;adoquery2.SQL.Clear;adoquery2.SQL.Add('exec huanshu1 '''+edit4.Text+'''');adoquery2.Open;if adoquery2.RecordCount=0 thenshowmessage('无此人 或是此人没有要还的书')end;procedure Tinout_book.Button4Click(Sender: TObject);var sh :string;beginwith adostoredproc2 do begin close; Parameters.ParamByName('pno').Value := edit4.Text ; Parameters.ParamByName('bno').Value := DBEdit8.Text ; Parameters.ParamByName('num').Value := edit6.Text ; Parameters.ParamByName('sh').Value := '' ExecProc; sh := Parameters.ParamByName('sh').Value; showmessage(sh); end;adoquery2.Close;adoquery2.SQL.Clear;adoquery2.SQL.Add('exec huanshu1 '''+edit4.Text+'''');adoquery2.Open;end;procedure Tinout_book.Button6Click(Sender: TObject);beginclose;end;procedure Tinout_book.Edit3KeyPress(Sender: TObject; var Key: Char);beginif not (key in '0'.'9',#8) thenbeginkey:=#0;showmessage('该项只能写入数字');end;end;procedure Tinout_book.Edit6KeyPress(Sender: TObject; var Key: Char);beginif not (key in '0'.'9',#8) thenbeginkey:=#0;showmessage('该项只能写入数字');end;end;end.4.5查询:procedure Tsearch.Button1Click(Sender: TObject);beginif radiobutton1.Checkedthenbeginadoquery2.Close;adoquery2.SQL.Clear;adoquery2.SQL.Add('select * from book where 图书编号 like ''%'+edit1.Text+'%''');adoquery2.Open; if adoquery2.RecordCount=0 then showmessage('没有此编号图书'); end; if radiobutton2.Checkedthenbeginadoquery2.Close;adoquery2.SQL.Clear;adoquery2.SQL.Add('select * from book where 书名 like ''%'+edit1.Text+'%''');adoquery2.Open; if adoquery2.RecordCount=0 then showmessage('没有此书名图书'); end; if radiobutton3.Checkedthenbeginadoquery2.Close;待添加的隐藏文字内容1adoquery2.SQL.Clear;adoquery2.SQL.Add('select * from book where 作者 like ''%'+edit1.Text+'%''');adoquery2.Open; if adoquery2.RecordCount=0 then showmessage('没有该作者的图书'); end; if radiobutton4.Checkedthenbeginadoquery2.Close;adoquery2.SQL.Clear;adoquery2.SQL.Add('select *from book where 类别 like ''%'+edit1.Text+'%''');adoquery2.Open; if adoquery2.RecordCount=0 then showmessage('没有此没有此类别图书'); end; if radiobutton5.Checkedthenbeginadoquery2.Close;adoquery2.SQL.Clear;adoquery2.SQL.Add('select * from book where 出版社 like ''%'+edit1.Text+'%''');adoquery2.Open; if adoquery2.RecordCount=0 then showmessage('没有此出版社图书'); end;end;procedure Tsearch.Button2Click(Sender: TObject);beginif radiobutton8.Checkedthenbeginadoquery3.Close;adoquery3.SQL.Clear;adoquery3.SQL.Add('exec search1 '''+edit2.Text+''',0');adoquery3.open;if adoquery3.RecordCount=0 then showmessage('没借书记录,或是证件号错');end;if radiobutton9.Checkedthenbeginadoquery3.Close;adoquery3.SQL.Clear;adoquery3.SQL.Add('exec search1 '''+edit2.Text+''',1');adoquery3.open;if adoquery3.RecordCount=0 then showmessage('此人没借书,或是证件号错');end;end;end.4.6办理会员:procedure Tin_people.Button1Click(Sender: TObject);beginadoquery1.Close;adoquery1.SQl.Clear;adoquery1.SQL.Add('select * from people where 借书证号= '''+edit1.text+'''');adoquery1.Open;if adoquery1.recordcount<>0then showmessage('已号已有人使用') else beginadoquery1.Close;adoquery1.SQl.Clear;adoquery1.SQL.Add('exec insert1 '''+edit1.Text+''','''+edit2.Text+''','''+combobox1.Text+''','''+edit3.Text+''','''+edit4.Text+''','''+edit5.Text+''','''+edit6.Text+'''');adoquery1.execsql;showmessage('办理成功');end;end;procedure Tin_people.Edit6KeyPress(Sender: TObject; var Key: Char);beginif not (key in '0'.'9','-',#8) thenbeginkey:=#0;showmessage('该项只能写入数字');end;end;procedure Tin_people.Edit4KeyPress(Sender: TObject; var Key: Char);begin if not (key in '0'.'9','x',#8) thenbeginkey:=#0;showmessage('该项只能写入数字');end;end;end.4.7解除会员:procedure Tdele_people.Button1Click(Sender: TObject);beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select * from people where 借书证号= '''+edit1.Text+'''');adoquery1.Open;if adoquery1.RecordCount=0 thenshowmessage('此人不存在');end;procedure Tdele_people.Button2Click(Sender: TObject);beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('delete from people where 借书证号= '''+edit1.Text+'''');adoquery1.execsql;showmessage('撤离成功');end;end.五、实验体会通过系统的在校学习和对外界的认识,我对delphi7 和SQL serve2005大致过程有了一些基本的了解,有了一些体会:程序没有最好,只有更好,程序没有十全十美,只有更完美;在编程的过程中,会遇到各种各样的问题,也花了不少时间去解决。深入的体会:编程总会深入内部,深究根源,一个程序只有不断地测试和修改才能减少错误,才能提高质量,才能做得更好,程序是在不断地壮大的。编程需要严谨的思维,程序是一个逻辑产品,它存储在磁盘等物理介质中,它看不见,摸不着,它运行时一环接一环,一丝扣一丝,一旦出错,有可能导致难以预料的严重后果。而严谨的思维能使程序逻辑出错的可能性大大降低,也使程序易于维护。而且,保持严谨的思维总是一个好的习惯。在学习的过程中,要学会应用网络上的知识,把它变为自己的知识,应用在实际中来解决问题。因为在网络上有各种各样的资源可以供你参考。编程需要良好的编程习惯。好的编程习惯能给编程人员省去很多不必要的麻烦,提高了代码的清晰度,从而提高了程序的质量。计算机技术浩瀚无边,需要我们学习的知识非常之多,比如像软件编程,就有Delphi、JAVA、J2EE、JSP、ASP.Net、C#等,我们不可能一一都学会,但是我们要选择有代表性的来学,比如JAVA、J2EE。就我所使用的Delphi来说,我所使用的不过是它的很小的一方面,还有其他知识需要掌握,比如用它来做Web网页等的知识我没有学过,但需要我们在学习的过程中不断地来学习。所以我认为编程要不断地学习,不断地学习他人的新技术才能进步。而借鉴地学习他人的技术的同时也要不断地自己去探索。本系统的开发,无论是从技术上还是对环境的适应能力上讲,对我今后步入社会都打下了一个良好的基础。在一开始我通过编写设计初稿,对设计本系统有了比较深刻的认识,认真的考虑了每一步骤的执行,也发现编一个优秀的软件决不是一蹴而就的事情,需要长时间的积累和经验。然后,在老师的辅导和同学的帮助下,我更加深入的去考虑这个系统。并花了大量的心思和努力去完成这个系统。在做这个系统的这段时间里,我学到了我以前没有掌握牢的知识。更重要的是了解了作为一个开发人员开发一个系统软件的步骤和方法策略。如何去思考问题,又如何去解决问题总之,通过这次的系统设计,我学会了很多,也了解了很多。在这,我真诚的感谢辅导过我的老师,还有帮助过我的同学们。谢谢! 参考文献1王珊 萨师煊 数据库系统概述 第四版 高等教育出版社2.付军,Delphi7实例编程100例北京:中国铁道出版社,2005

    注意事项

    本文(sql delphi 图书管理系统实验报告.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开