moduleform.KeyTable.Locate(‘KeyName‘,Edit1.Text,[]) file://判断用户名是否存在,用户名必须存在,才可以删除 then begin MessageDlg(‘您所输入的用户名不存在,请重新输入或按“取消”退出。‘, mtInformation,[mbok],0); Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit1.SetFocus; end else begin with datamoduleform.KeyQuery do begin close; SQL.Clear; SQL.Add(‘select * from Key where KeyName=:KeyName‘); Parameters.ParamByName(‘KeyName‘).Value:=Edit1.Text; open; s:=FieldValues[‘KeyNo‘]; end; if s<>Edit2.Text file://判断该用户名下的密码是否正确 then begin MessageDlg(‘您所输入的密码不正确,请重新输入或按“取消”退出。‘, mtInformation,[mbok],0); Edit2.Text:=‘‘;Edit2.SetFocus; end else begin file://从数据库中删除该用户 with datamoduleform.KeyQuery do begin close; SQL.Clear; SQL.Add(‘delete from Key where KeyName=:KeyName‘); Parameters.ParamByName(‘KeyName‘).Value:=Edit1.Text; execSQL; end; MessageDlg(‘用户已成功删除,您可以继续删除用户,或按“取消”退出。‘, mtInformation,[mbok],0); Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit1.SetFocus; end; end; end; end; 结束语 本系统是一个面向小型图书企业,具有一定实用性的数据库信息管理系统。它主要完成对图书仓库的一系列管理,包括入库、出库、库存以及员工和供应商信息管理。本系统采用当前流行的面向对象的开发工具—Delphi来完成整个系统的设计,在数据库的设计上利用了Access的便利性和实用性。 本系统具有相当的实用功能。在查询方面,系统实现了多条件任意字段的模糊查询,同时在分类查询上实现了动态生成,系统可以自动识别用户不同的输入。在图书入库、出库和库存三者之间建立了良好的链接关系,某一部分地修改均会自动引发系统对与其相关的部分进行连锁修改。在用户管理方面,系统较好地实现了用户注册,用户注销和密码修改等各项功能。 系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是由个人设计的,有关Delphi许多细节问题都要靠自己去摸索,加之本人水平有限,并没有完全地理解Delphi的强大功能,而且还存在着许多不足之处。如: ※ 受开发条件和开发时间的限制,本系统只利用了本地数据库Access,它同应用程序处于同一系统中,能存储的数据量也有一定限制,并没有发挥出Delphi其数据库方面的优势; ※ 报表打印功能尚不够全面完善,不能实现动态报表; ※ 在一些数据输入时没有及时的进行数据格式校验,不能保证数据输入的绝对正确性。 ※ 由于时间关系,系统功能实现不够完善,使用不是很方便,比如,没有实现多条记录的连锁删除和添加以及数据的导入功能。 这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要我进行不断地补充和完善。 通过本次毕业设计我学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。 考 文 献 [1] 郑荣贵、黄平、谷会东,Delphi 6.0数据库开发与应用,中科多媒体电子出版社,2002 [2] 伍俊良,Delphi 6控件应用实例教程,北京希望电子出版社,2002 [3] 卢国俊,Delphi 6数据库开发,电子工业出版社,2002 [4] 边萌,Delphi 编程起步,机械工业出版社,2002 [5] 伍俊良,Delphi 6课程设计案例精编,中国水利水电出版社,2002 [6] 丁宝康,数据库原理,经济科学出版社,2000 [7] 陆丽娜,软件工程,经济科学出版社,2000