毕业设计(论文)-图书管理系统论文(delphi+SQL+Server+2000)_第1页
毕业设计(论文)-图书管理系统论文(delphi+SQL+Server+2000)_第2页
毕业设计(论文)-图书管理系统论文(delphi+SQL+Server+2000)_第3页
毕业设计(论文)-图书管理系统论文(delphi+SQL+Server+2000)_第4页
毕业设计(论文)-图书管理系统论文(delphi+SQL+Server+2000)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要在当今的信息时代,随时掌握有效的信息对人们的成败气到了关键的作用,另一方面人类对知识的需求也飞速增长。虽然现代的网络技术可以使人们方便快捷的获得知识,但书本阅读起来却更加方便,所以,在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就理所当然的在人们的生活中占据了一定的位置,如何科学合理的管理图书馆不但关系到读者求知的方便程度,也关系到图书管的开展,因此,开发一套完善的图书管理系统,是必不可少的了。本文主要是介绍图书管理系统的环境、功能作用、所用到的语言、设计的方案等各方面的内容。主要是让使用者了解此系统,使他们能更好的运用本系统,使此系统发挥出应有的作用。关键字 图书管

2、理系统 Delphi 7.0 SQL Server 2000数据库目 录 TOC o 1-3 h z HYPERLINK l _Toc208309000 第一章 绪论 图书管理系统图书管理系统读者管理功能系统管理功能图书管理功能借阅管理功能新书入库功能图书类别功能读者信息功能读者查询功能增加用户密码修改借书管理功能还书管理功能图2-2 功能模块图第三章 系统数据库设计E-R模型的“联系用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。假设有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型

3、内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。根据上面的设计可以规划出的实体有:读者实体、图书实体和借书信息实体。3.1 读者实体读者实体读者实体学号姓名系别借书证号证号性别联系 联系 图3-1读者实体3.2 图书实体图书实体图书实体出版日期数据库配置文件已经安装到 D:oracleproduct10.2.0,同时其他选定的安装组件也已经安装到 D:oracleproduct10.2.0db_1。出版日期数据库配置文件已经安装到 D:oracleproduct10.2.0,同时其他选定的安装组件也已经安装到 D:oracleproduct10.2.0db_

4、1。iSQL*Plus URL 为: :/192.168.0.247:5560/isqlplusiSQL*Plus DBA URL 为: :/192.168.0.247:5560/isqlplus/dba证号出版日期数据库配置文件已经安装到 D:oracleproduct10.2.0,同时其他选定的安装组件也已经安装到 D:oracleproduct10.2.0db_1。iSQL*Plus URL 为: :/192.168.0.247:5560/isqlplusiSQL*Plus DBA URL 为: :/192.168.0.247:5560/isqlplus/dba证号图书编号出版日期图书编

5、号出版日期数据库配置文件已经安装到 D:oracleproduct10.2.0,同时其他选定的安装组件也已经安装到 D:oracleproduct10.2.0db_1。iSQL*Plus URL 为: :/192.168.0.247:5560/isqlplusiSQL*Plus DBA URL 为: :/192.168.0.247:5560/isqlplus/dba证号出版日期数据库配置文件已经安装到 D:oracleproduct10.2.0,同时其他选定的安装组件也已经安装到 D:oracleproduct10.2.0db_1。iSQL*Plus URL 为: :/192.168.0.24

6、7:5560/isqlplus出版日期数据库配置文件已经安装到 D:oracleproduct10.2.0,同时其他选定的安装组件也已经安装到 D:oracleproduct10.2.0db_1。iSQL*Plus URL 为: :/192.168.0.247:5560/isqlplusiSQL*Plus DBA URL 为: :/192.168.0.247:5560/isqlplus/dba证号作者图书名称类别编号 SHAPE * MERGEFORMAT 图3-2 图书实体3.3 借书实体E-R图借书信息实体图书编号借书证号借出日期借书信息实体图书编号借书证号借出日期还书日期借出状态图3-3

7、借书实体3.4 系统实体E-R图读者读者图书借阅图3-4实体E-R图3.5 数据库设计由数据模型利用SQLsever2000进行数据库的详细设计,本系统设计的数据库名为shop,其根本表的设计如下:学生信息表字段名称数据类型大小学号varchar50姓名varchar20性别varchar4系别varchar5联系 varchar50借书证号varchar50密码varchar15(2)图书明细表字段名称数据类型大小图书编号int50图书名称varchar20作者varchar4出版社varchar5出版日期varchar50定价varchar50类别编号varchar15状态char6(3)

8、图书类别字段名称数据类型大小类别编号smallint2图书类别nvarchar20(4)用户字段名称数据类型大小姓名varchar20性别varchar4类型varchar50联系 varchar15密码varchar50(5)借出信息字段名称数据类型大小借出编号int4图书编号int 4借书证号varchar50借出日期smalldatetime4借出状态bit4第四章 系统实现4.1 系统数据库模型需分析关系图 图4-1关系图4.2 各子系统功能分析与程序代码设计 系统主界面程序运行程序以后,就可以看到如图4-2的程序的主界面,从这个界面中用户可以根据不同的身份进行不同的操作。图4-2 系

9、统主界面程序实现相关代码:procedure TfrmMain.SpeedButton1Click(Sender: TObject);begin frmAdm.Show;end;procedure TfrmMain.SpeedButton2Click(Sender: TObject);begin frmReaderSer.Show;end;procedure TfrmMain.SpeedButton3Click(Sender: TObject);begin frmLookBook.Show;end;procedure TfrmMain.SpeedButton4Click(Sender: TOb

10、ject);var Str: string;begin Str := 图书管理系统 + #13; Str := Str + 李丽丽(L3) + #13; Str := Str + 这是我的第一次编程,请大家多多指教!; ShowMessage(Str);end;procedure TfrmMain.SpeedButton5Click(Sender: TObject);begin if messagedlg(确定要退出本系统吗?, mtinformation, mbyes, mbno, 0) = mryes then begin ShowMessage(谢谢你的使用); / form1.Dest

11、royWnd; frmMain.Close; end;end;procedure TfrmMain.Timer1Timer(Sender: TObject);begin StatusBar1.Panels2.Text := 日期: + DateToStr(Date); StatusBar1.Panels3.Text := 时间: + TimeToStr(Time);end;procedure TfrmMain.SkinData1FormSkin(Sender: TObject; aName: String; var DoSkin: Boolean);beginskindata1.Active:

12、=true;end;end.4.2.2 管理员登录界面主程序运行后,点击管理员登录,跳出管理员登录界面,输入用户名和密码即可进入系统管理的后台界面。功能:本模块的主要功能是对操作用户身份的验证,只有系统的合法用户才能进入系统。在进行系统登录过程中,登录模块将调用数据库里的用户表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登录才会成功。否那么退出登录模块。并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或错误操作,以便用户进行正确的登录。其窗体如图4-3所示:管理员登录窗体:图4-3 管理员登录界面登录按钮代码:procedure

13、 TfrmAdm.Button1Click(Sender: TObject);begin with DM.ADOQuery1 do begin Close; SQL.Clear; SQL.Add(select * from 用户 where 姓名=:username and 密码=:pass and 类型=:GLY); Parameters.ParamByName(username).Value := Edit1.Text; Parameters.ParamByName(pass).Value := Edit2.Text; Parameters.ParamByName(GLY).Value :

14、= 管理员; Open; if RecordCount 0 then ShowMessage(该书注销成功!) else ShowMessage(该书注销失败!); end;end;procedure TfrmAdmin.Button11Click(Sender: TObject);begin frmBookType.Show;end;end. 修改图书类型在系统管理界面中点击修改图书类型可进入如图4-5的编辑图书类别的界面,本模块主要实现管理员对图书类别进行删除和添加的管理功能。图4-5 修改图书类型界面确定按钮代码:procedure TfrmBookType.btnSureClick(S

15、ender: TObject);begin if edtTypeID.Text = then begin ShowMessage(类别编号不能为空!); edtTypeID.SetFocus; Exit; end; if edtBookType.Text = then begin ShowMessage(类别名称不能为空!); edtBookType.SetFocus; Exit; end; DM.QueryBookType.Close; DM.QueryBookType.SQL.Clear; DM.QueryBookType.SQL.Text := insert into 图书类别(类别编号

16、,图书类别) + values(:id,:name); DM.QueryBookType.Parameters.ParamByName(id).Value:=Trim(edtTypeID.Text); DM.QueryBookType.Parameters.ParamByName(name).Value:=Trim(edtBookType.Text);dm.QueryBookType.SQL.Text:=update 图书类别 set (类别编号,图书类别)+values(:id,:name);dm.QueryBookType.Parameters.ParamByName(id).Value:

17、=trim(edtTypeID.Text);dm.QueryBookType.Parameters.ParamByName(name).Value:=trim(edtBookType.Text); DM.QueryBookType.ExecSQL; DM.QueryBookType.Close;.Clear; DM.QueryBookType.SQL.Text :=select * from 图书类别; DM.QueryBookType.ExecSQL; DM.QueryBookType.Open;end;删除按钮代码:procedure TfrmBookType.btnDeleteClick

18、(Sender: TObject);begin if Application.MessageBox(是否删除记录?, 确定, MB_OKCANCEL) = IDOK then DM.DataSourceBookType.DataSet.Delete;end;4.2.5 图书借阅和归还本模块主要实现的功能是读者对图书的借阅和归还:(1)图书借阅模块 输入图书编号按回车图书信息会自动显示,再输入借书证号按回车会显示已借书数,如图4-6所示:图4-6 借阅图书界面借阅按钮代码:procedure TfrmLendBook.Button1Click(Sender: TObject);var strBo

19、okID: string;begin if editreaderID.Text = then begin ShowMessage(借书证号不能为空!); editreaderID.SetFocus; Exit; end; if editBookID.Text = then begin ShowMessage(图书编号不能为空!); editBookID.SetFocus; Exit; end; if getBookCount(editBookID.Text) 0 then begin ShowMessage(此书已经被借出!); Exit; end else begin strBookID :

20、= Trim(editBookID.Text); DM.QueryBorrow.Close; DM.QueryBorrow.SQL.Clear; DM.QueryBorrow.SQL.Text := update 借出信息 set 借出状态=1 where 图书编号= + strBookID; DM.QueryBorrow.Close; DM.QueryBorrow.SQL.Clear; DM.QueryBorrow.SQL.Text := insert into 借出信息(图书编号,借书证号,借出日期,借出状态)values(:BookID, + :readerID,:time,1);DM.

21、QueryBorrow.Parameters.ParamByName(Bookid).Value:=trim(editBookID.Text); DM.QueryBorrow.Parameters.ParamByName(readerid).Value:=trim(editreaderID.Text); DM.QueryBorrow.Parameters.ParamByName(time).Value:=DateTimePicker1.Time; DM.QueryBorrow.ExecSQL; DM.QueryBorrow.Close; /更新图书信息表在库标志 DM.QueryReader.

22、Close; DM.QueryReader.SQL.Clear; strSql := update 图书明细表 set 状态=借出 where 图书编号= + strBookID; DM.QueryReader.SQL.Text := strSql; DM.QueryReader.ExecSQL; DM.QueryReader.Close; end; if messagedlg(借阅成功,还有要借的书籍吗?, mtconfirmation, mbyes, mbno, 0) = mryes then begin editBookID.Text := ; editreaderID.Text :=

23、; editmax.Text := ; DBEdit3.Text := ; DBEdit4.Text := ; DBEdit5.Text := ; DBEdit6.Text := ; DBEdit7.Text := ; editBookID.SetFocus; end;end;其他相关实现代码:procedure TfrmLendBook.editBookIDKeyPress(Sender: TObject; var Key: Char);begin if Key = #13 then begin if ViewBook(editBookID.Text) = false then begin

24、ShowMessage(没有此书, 请重新选择!); Exit; end;d := false; DM.QueryBook.Filter := 图书编号= + editBookID.Text + ; DM.QueryBook.Filtered := true; end;end;function TfrmLendBook.ViewBook(BookID: string): boolean;var Query: TADOQuery;begin Query := TADOQuery.Create(self); Query.Connection := DM.ADOConnection1; Query.

25、SQL.Add(select * from 图书明细表 where 图书编号=:id); Query.Parameters.ParamByName(ID).Value := BookID; Query.Open; if Query.RecordCount = 0 then begin Result := false; ; Exit; end else Result := true;end;function TfrmLendBook.viewUser(user: string): boolean;var Query1: TADOQuery;begin Query1 := TADOQuery.Cr

26、eate(self); Query1.Connection := DM.ADOConnection1; Query1.SQL.Add(select * from 学生信息表 where 借书证号=:id); Query1.Parameters.ParamByName(ID).Value := user; Query1.Open; if Query1.RecordCount = 0 then begin Result := false; Exit; end else Result := true;end;procedure TfrmLendBook.editreaderIDKeyPress(Se

27、nder: TObject; var Key: Char);begin if Key = #13 then begin editmax.Text := IntToStr(getOwnCount(editreaderID.Text); if viewUser(editreaderID.Text) = false then begin ShowMessage(没有此用户, 请重新选择!); Exit; end; end;end;function TfrmLendBook.getOwnCount(userID: string): integer;var Query2: TADOQuery;begin

28、 try Query2 := TADOQuery.Create(self); Query2.Connection := DM.ADOConnection1; Query2.SQL.Add(select count(借书证号) from 借出信息 where 借书证号=:id ); Query2.Parameters.ParamByName(ID).Value := userID; Query2.Open; Result := Query2.Fields0.Value; Query2.Close; Query2.Free; except Result := 0; end;end;function

29、 TfrmLendBook.getBookCount(BookID: string): integer;var Query2: TADOQuery;begin try Query2 := TADOQuery.Create(self); Query2.Connection := DM.ADOConnection1; Query2.SQL.Add(select count(图书编号) from 借出信息 where 图书编号=:id and 借出状态=1); Query2.Parameters.ParamByName(ID).Value := BookID; Query2.Open; Result

30、 := Query2.Fields0.Value; Query2.Close; Query2.Free; except Result := 0; end;end;(2)图书归还模块输入图书编号按回车图书信息会自动显示,再输入借书证号按回车会显示已借出日期和还书日期以及是否超期的信息提示,如图4-7所示:图4-7 图书归还界面归还按钮代码 :procedure TfrmReturnBook.Button2Click(Sender: TObject);var BorrowBookID: string; BookID: string; strSql: string; strBookID: strin

31、g; strDate:string;begin strDate:=trim(edtToday.Text); if editreaderID.Text = then begin ShowMessage(借书证号不能为空!); editreaderID.SetFocus; Exit; end; if editBookID.Text = then begin ShowMessage(图书编号不能为空!); editBookID.SetFocus; Exit; end; BorrowBookID := Trim(editreaderID.Text); BookID := Trim(editBookID

32、.Text); if (BorrowBookID ) and (BookID ) then begin QueryDelete.Close; QueryDelete.SQL.Clear; strSql := update 借出信息 set 借出状态=0 ,还书日期= + strdate + where 图书编号 = + BookID + and 借书证号= + BorrowBookID + and 借出状态=1 ; QueryDelete.SQL.Add(strSql); QueryDelete.ExecSQL; if QueryDelete.RowsAffected 0 then begin

33、 ShowMessage(还书成功!); /更新图书信息表在库标志 strBookID := Trim(editBookID.Text); DM.QueryReader.Close;ear; strSql := update 图书明细表 set 状态=在库 where 图书编号= + strBookID; DM.QueryReader.SQL.Text := strSql; DM.QueryReader.ExecSQL; DM.QueryReader.Close; end else ShowMessage(此书已还过!); end;end;其它相关实现代码:procedure TfrmRetu

34、rnBook.editBookIDKeyPress(Sender: TObject; var Key: Char);begin if Key = #13 then begin if ViewBook(editBookID.Text) = false then begin ShowMessage(没有此书, 请重新选择!); Exit; end; DM.QueryBook.Filtered := false; DM.QueryBook.Filter := 图书编号= + editBookID.Text + ; DM.QueryBook.Filtered := true; edtToday.Tex

35、t:=datetostr(date); end;end;procedure TfrmReturnBook.editreaderIDKeyPress(Sender: TObject; var Key: Char);begin if Key = #13 then begin ADOQueryReturn.Close; ADOQueryReturn.SQL.Clear; ADOQueryReturn.SQL.Add( select 借出日期 from 借出信息 where 借书证号= + editreaderID.Text + ); ADOQueryReturn.ExecSQL; ADOQueryR

36、eturn.Active := true; if ADOQueryReturn.RecordCount 0 then DBEdit1.Text := ADOQueryReturn.fieldbyname(借出日期).AsString; edtOwnDays.Text:= inttostr(Daysbetween(date,strtoDate(dbedit1.Text);if daysbetween(date,strtoDate(dbedit1.Text) 30 then edtOwnDays.Font.Color :=clRed; label12.Caption:=您超期了,请下次及时归还!;

37、 end;end;function TfrmReturnBook.ViewBook(BookID: string): boolean;var Query: TADOQuery;begin Query := TADOQuery.Create(self); Query.Connection := DM.ADOConnection1; Query.SQL.Add(select * from 图书明细表 where 图书编号=:id); Query.Parameters.ParamByName(ID).Value := BookID; Query.Open; if Query.RecordCount

38、= 0 then begin Result := false; ; Exit; end else Result := true;end;4.2.6 新书入库本模块主要实现的是管理员对新书的入库管理,打 * 号的是必填工程,置空会有信息提示该项不能为空,如图4-8所示:图4-8 新书入库界面确定按钮代码:procedure TfrmNewBook.Button1Click(Sender: TObject);begin if Edit2.Text = then begin ShowMessage(图书名不能为空!); Edit2.SetFocus; Exit; end; if Edit1.Text

39、 = then begin ShowMessage(图书编号不能为空!); Edit1.SetFocus; Exit; end; if Edit2.Text = then begin ShowMessage(图书名不能为空!); Edit2.SetFocus; Exit; end; if Edit3.Text = then begin ShowMessage(作者不能为空!); Edit3.SetFocus; Exit; end; if Edit5.Text = then begin ShowMessage(出版社不能为空!); Edit5.SetFocus; Exit; end; if Ed

40、it4.Text = then begin ShowMessage(售价不能为空!); Edit4.SetFocus; Exit; end; if Edit7.Text = then begin ShowMessage(出版日期不能为空!); Edit7.SetFocus; Exit; end; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from 图书明细表 where 图书编号=:A ); ADOQuery1.Parameters.ParamByName(A).Value := Edit1.Text; A

41、DOQuery1.Open; if ADOQuery1.RecordCount 0 then begin ShowMessage(该书已存在!); Edit2.Text := ; Edit1.Text := ; Edit3.Text := ; Edit4.Text := ; Edit5.Text := ; Edit6.Text := ; Edit7.Text := ; Edit2.Text := ; Exit; end; if Edit6.Text = then begin ShowMessage(图书类型名不能为空!); Edit6.SetFocus; Exit; end; ADOQuery

42、1.SQL.Clear; ADOQuery1.SQL.Text := insert into 图书明细表(图书编号,类别编号, + 图书名称,作者,出版社,出版日期,定价) + values(:id,:type,:name,:author,:publish,:time,:price); ADOQuery1.Parameters.ParamByName(id).Value := Trim(Edit1.Text); ADOQuery1.Parameters.ParamByName(name).Value := Trim(Edit2.Text); ADOQuery1.Parameters.Param

43、ByName(type).Value := trim(edit6.Text); ADOQuery1.Parameters.ParamByName(author).Value := Trim(Edit3.Text); ADOQuery1.Parameters.ParamByName(publish).Value := Trim(Edit5.Text); ADOQuery1.Parameters.ParamByName(time).Value := StrToDate(Trim(Edit7.Text); ADOQuery1.Parameters.ParamByName(price).Value :

44、= StrToFloat(Trim(Edit4.Text); ADOQuery1.ExecSQL; ADOQuery1.Close; if messagedlg(入库完毕,还有要入库的书籍吗?, mtconfirmation, mbyes, mbno, 0) = mryes then begin Edit2.Text := ; Edit1.Text := ; Edit3.Text := ; Edit4.Text := ; Edit5.Text := ; Edit6.Text := ; Edit7.Text := ; Edit2.SetFocus; end;end;4.2.7 添加读者本模块主要

45、实现的是管理员对读者的添加操作,打 * 号的是必填工程,置空会有信息提示该项不能为空,如图4-9所示:图4-9 添加读者界面确定按钮代码:procedure TfrmAddReader.btnOKClick(Sender: TObject);begin if edtName.Text = then begin ShowMessage(姓名不能为空!); edtName.SetFocus; Exit; end; if edtXh.Text = then begin ShowMessage(学号不能为空!); edtXh.SetFocus; Exit; end; if edit1.Text = t

46、hen begin ShowMessage(密码不能为空!); edit1.SetFocus; Exit; end; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from 学生信息表 where 学号=:A ); ADOQuery1.Parameters.ParamByName(A).Value := edtXh.Text; ADOQuery1.Open; if ADOQuery1.RecordCount 0 then begin ShowMessage(该学号已存在!); edtXh.Text := ; E

47、xit; end; if edtXb.Text = then begin ShowMessage(系别不能为空!); edtXb.SetFocus; Exit; end; if edtPhone.Text = then begin ShowMessage(联系 不能为空!); edtPhone.SetFocus; Exit; end; if edtLendBookID.Text = then begin ShowMessage(借书证号不能为空!); edtLendBookID.SetFocus; Exit; end; ADOQuery1.Close; ADOQuery1.SQL.Clear;

48、 ADOQuery1.SQL.Add(select * from 学生信息表 where 借书证号=:A ); ADOQuery1.Parameters.ParamByName(A).Value := edtLendBookID.Text; ADOQuery1.Open; if ADOQuery1.RecordCount 0 then begin ShowMessage(该借书证号已存在!); edtLendBookID.Text := ; Exit; end; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := insert into 学生信息表(姓名,学号

49、, + 系别,联系 ,借书证号,性别,密码) + values(:name,:xh,:depart,:phone,:jszh,:xb,:mm); ADOQuery1.Parameters.ParamByName(name).Value := Trim(edtName.Text); ADOQuery1.Parameters.ParamByName(xh).Value := Trim(edtXh.Text); ADOQuery1.Parameters.ParamByName(xb).Value := ComboBox1.Text; ADOQuery1.Parameters.ParamByName(

50、depart).Value := Trim(edtXb.Text); ADOQuery1.Parameters.ParamByName(phone).Value := Trim(edtPhone.Text); ADOQuery1.Parameters.ParamByName(jszh).Value := Trim(edtLendBookID.Text); ADOQuery1.Parameters.ParamByName(mm).Value := Trim(edit1.Text); ADOQuery1.ExecSQL; ADOQuery1.Close; if messagedlg(读者已添加,还

51、要继续添加吗?, mtconfirmation, mbyes, mbno, 0) = mryes then begin edtName.Text := ; edtXh.Text := ; edtXb.Text := ; edtPhone.Text := ; edtLendBookID.Text := ; edtXh.SetFocus; end;end;4.2.8 系统密码修改本模块主要实现的功能是管理员进入系统管理界面后对管理员密码进行修改的操作,以保证系统的平安性,如图4-10所示:图4-10 系统密码修改界面提交修改按钮代码:procedure TfrmModifyPsw.Button1C

52、lick(Sender: TObject);begin try with DM.ADOQuery1 do begin if yhmedit.Text = then begin ShowMessage(用户名不能为空!); yhmedit.SetFocus; Exit; end; if jmmedit.Text = then begin ShowMessage(请输入旧密码!); jmmedit.SetFocus; Exit; end; if xmmedit.Text = then begin ShowMessage(请输入新密码!); xmmedit.SetFocus; Exit; end;

53、if qrmmedit.Text = then begin ShowMessage(请确认密码!); qrmmedit.SetFocus; Exit; end; Close; SQL.Clear; SQL.Add(select * from 用户 where 姓名=:xm and 密码=:mm); Parameters.ParamByName(xm).Value := Trim(yhmedit.Text); Parameters.ParamByName(mm).Value := Trim(jmmedit.Text); Open; if RecordCount 1 then begin Show

54、Message(旧密码不正确!); Exit; end; if xmmedit.Text qrmmedit.Text then begin ShowMessage(新密码和旧密码不一致!); Exit; end; end; with DM.ADOQuery1 do begin Close; SQL.Clear; SQL.Add(update 用户 set 密码=:mm where 姓名=:xm); Parameters.ParamByName(xm).Value := Trim(yhmedit.Text); Parameters.ParamByName(mm).Value := Trim(xm

55、medit.Text); ExecSQL; ShowMessage(密码修改成功!); end; except ShowMessage(密码修改失败!); end; jmmedit.Clear; xmmedit.Clear; qrmmedit.Clear;end;4.2.9 修改读者信息本模块主要实现的功能是管理员对读者信息进行修改的操作,如图4-11所示:图4-11 修改读者信息界面确定按钮代码:procedure TfrmModifyReaderInfo.Button1Click(Sender: TObject);begin if Edit1.Text = then begin ShowM

56、essage(学号不能为空!); Edit1.SetFocus; Exit; end; if Edit2.Text = then begin ShowMessage(姓名不能为空!); Edit2.SetFocus; Exit; end; if Edit3.Text = then begin ShowMessage(系别不能为空!); Edit3.SetFocus; Exit; end; if Edit5.Text = then begin ShowMessage(联系 不能为空!); Edit5.SetFocus; Exit; end; if Edit6.Text = then begin

57、ShowMessage(借书证号不能为空!); Edit6.SetFocus; Exit; end; if (Edit7.Text = ) or (Edit8.Text = ) or (Edit7.Text Edit8.Text) then begin ShowMessage(请重新检查密码); abort; end; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := update 学生信息表(姓名,学号, + 系别,联系 ,借书证号,性别) + values(:name,:xh,:depart,:phone,:jszh,:xb); ADOQuery1.Pa

58、rameters.ParamByName(name).Value := trim(edit2.Text); ADOQuery1.Parameters.ParamByName(xh).Value := trim(edit1.Text); ADOQuery1.Parameters.ParamByName(xb).Value := ComboBox1.Text; ADOQuery1.Parameters.ParamByName(depart).Value := trim(edit3.Text); ADOQuery1.Parameters.ParamByName(phone).Value := tri

59、m(edit5.Text); ADOQuery1.Parameters.ParamByName(jszh).Value := trim(edit6.Text); ADOQuery1.ExecSQL; ADOQuery1.Close; if messagedlg(读者信息已修改,还要继续修改吗?, mtconfirmation, mbyes, mbno, 0) = mryes then begin Edit1.Text := ; Edit2.Text := ; Edit3.Text := ; Edit5.Text := ; Edit6.Text := ; Edit1.SetFocus; end;

60、 ADOTable1.Open; ADOTable1.Edit; ADOTable1.fieldbyname(姓名).AsString := Edit2.Text; ADOTable1.fieldbyname(系别).AsString := Edit3.Text; ADOTable1.fieldbyname(性别).AsString := ComboBox1.Text; ADOTable1.fieldbyname(联系 ).AsString := Edit5.Text; ADOTable1.fieldbyname(借书证号).AsString := Edit6.Text; ADOTable1.

温馨提示

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

评论

0/150

提交评论