当前位置:首页 > 2012-图书管理系统论文
BookID: string; strSql: string; strBookID: string; 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.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
ShowMessage('还书成功!'); //更新图书信息表在库标志
strBookID := Trim(editBookID.Text); DM.QueryReader.Close;
DM.QueryReader.SQL.Clear;
strSql := 'update 图书明细表 set 状态=''在库'' where 图书编号=' +
strBookID;
DM.QueryReader.SQL.Text := strSql; DM.QueryReader.ExecSQL; DM.QueryReader.Close; end else
ShowMessage('此书已还过!');
25
end; end;
其它相关实现代码:
procedure TfrmReturnBook.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.Text:=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;
ADOQueryReturn.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:='您超期了,请下次及时归还!'; 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');
26
Query.Parameters.ParamByName('ID').Value := BookID; Query.Open;
if Query.RecordCount = 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 = '' then begin
ShowMessage('图书编号不能为空!'); Edit1.SetFocus; Exit; end;
27
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 Edit4.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; ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then begin
ShowMessage('该书已存在!'); Edit2.Text := ''; Edit1.Text := ''; Edit3.Text := ''; Edit4.Text := ''; Edit5.Text := ''; Edit6.Text := '';
28
共分享92篇相关文档