📄 lendlist.~pas
字号:
unit LendList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ColorGrd, AxCtrls, OleCtrls, VCF1, DB,
DBTables, ExtCtrls, DBCtrls;
type
TfrmLendList = class(TForm)
StringGrid: TStringGrid;
Label1: TLabel;
btnSave: TButton;
btnClose: TButton;
btnDelete: TButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure StringGridDblClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
function PF_DeleteData: Boolean;
{ Private declarations }
public
function PF_GetData: Boolean;
{ Public declarations }
end;
var
frmLendList: TfrmLendList;
implementation
uses Db_Con,COMMON,LendBook, Main;
{$R *.dfm}
//*****************************************************************************
// 函 数 名: PF_GetData
// 功能描述: 获得数据
// 参 数: 无
// 返 回 值: 无
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
Function TfrmLendList.PF_GetData: Boolean;
VAR strSql : String;
LngI : Longint;
begin
Result:=True;
with Db_Connect.Library_Query do
begin
strSql:='';
strSql:=strSql + ' SELECT ';
strSql:=strSql + ' A.BR_borrowno '; //借阅编号
strSql:=strSql + ',A.BR_READERNO '; //读者编号
strSql:=strSql + ',A.BR_READERNAME '; //读者姓名
strSql:=strSql + ',A.BR_BOOKNO '; //书籍编号
strSql:=strSql + ',A.BR_BOOKNAME '; //书籍名称
strSql:=strSql + ',A.BR_BORROWDATE '; //出借日期
strSql:=strSql + ',A.BR_RETURNDATE '; //还书日期
strSql:=strSql + ',A.BR_BORROWMEMO '; //备注信息
strSql:=strSql + ',B.BOOK_TYPE '; //书籍类别
strSql:=strSql + ',B.BOOK_AUTHOR '; //书籍作者
strSql:=strSql + ',B.BOOK_PUB '; //出版社名称
strSql:=strSql + ',B.BOOK_MEMO '; //书籍备注
strSql:=strSql + ',C.READER_TYPE '; //读者种类
strSql:=strSql + ' FROM BORROWINFO A LEFT OUTER JOIN BOOKS B ON (A.BR_BOOKNO=B.BOOK_NO)';
strSql:=strSql + ' LEFT OUTER JOIN READERS C ON (A.BR_READERNO=C.READER_NO) ';
strSql:=strSql + ' ORDER BY A.BR_BORROWNO';
DatabaseName:=gDbName;
Close;
SQL.Clear;
SQL.Add(strSql);
TRY
open;
LngI:=1;
if Not EOF then begin
while not EOF do begin
StringGrid.RowCount:=LngI+1;
StringGrid.Cells[1,LngI]:= Fieldbyname('BR_borrowno').AsString; //借阅编号
StringGrid.Cells[2,LngI]:=Fieldbyname('BR_BOOKNO').AsString; //书籍编号
StringGrid.Cells[3,LngI]:=Fieldbyname('BR_BOOKNAME').AsString; //书籍名称
StringGrid.Cells[4,LngI]:=Fieldbyname('BOOK_TYPE').AsString; //书籍类别
StringGrid.Cells[5,LngI]:=Fieldbyname('BOOK_AUTHOR').AsString; //书籍作者
StringGrid.Cells[6,LngI]:=Fieldbyname('BOOK_PUB').AsString; //出版社名称
StringGrid.Cells[7,LngI]:=Fieldbyname('BOOK_MEMO').AsString; //书籍备注
StringGrid.Cells[8,LngI]:=Fieldbyname('BR_READERNO').AsString; //读者编号
StringGrid.Cells[9,LngI]:=Fieldbyname('BR_READERNAME').AsString; //读者姓名
StringGrid.Cells[10,LngI]:=Fieldbyname('READER_TYPE').AsString; //读者种类
StringGrid.Cells[11,LngI]:=Fieldbyname('BR_BORROWDATE').AsString; //出借日期
StringGrid.Cells[12,LngI]:=Fieldbyname('BR_BORROWMEMO').AsString; //备注信息
LngI:=LngI+1;
next;
end;
end;
Close;
except
on E:exception do
begin
Result:=False;
Close;
Application.MessageBox(PChar(E.Message),'图书管理信息系统',MB_OK + MB_ICONERROR);
exit;
end;
end;
end;
end;
//*****************************************************************************
// 函 数 名: FormCreate
// 功能描述: 获得数据
// 参 数: 无
// 返 回 值: 无
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.FormCreate(Sender: TObject);
begin
StringGrid.Cells[1,0]:= '借阅编号'; //借阅编号
StringGrid.Cells[2,0]:='书籍编号'; //书籍编号
StringGrid.Cells[3,0]:='书籍名称'; //书籍名称
StringGrid.Cells[4,0]:='书籍类别'; //书籍类别
StringGrid.Cells[5,0]:='书籍作者'; //书籍作者
StringGrid.Cells[6,0]:='出版社名称'; //出版社名称
StringGrid.Cells[7,0]:='书籍备注'; //书籍备注
StringGrid.Cells[8,0]:='读者编号'; //读者编号
StringGrid.Cells[9,0]:='读者姓名'; //读者姓名
StringGrid.Cells[10,0]:='读者种类'; //读者种类
StringGrid.Cells[11,0]:='出借日期'; //出借日期
StringGrid.Cells[12,0]:='备注信息'; //备注信息
StringGrid.ColWidths[0]:=20;
StringGrid.ColWidths[1]:=80;
StringGrid.ColWidths[2]:=80;
StringGrid.ColWidths[3]:=200;
StringGrid.ColWidths[4]:=100;
StringGrid.ColWidths[5]:=100;
StringGrid.ColWidths[6]:=150;
StringGrid.ColWidths[7]:=200;
StringGrid.ColWidths[8]:=80;
StringGrid.ColWidths[9]:=70;
StringGrid.ColWidths[10]:=100;
StringGrid.ColWidths[11]:=60;
StringGrid.ColWidths[12]:=200;
if PF_GetData=False then begin
Exit;
end;
StringGrid.Row :=1;
end;
//*****************************************************************************
// 函 数 名: FormClose
// 功能描述: 关闭画面
// 参 数: 无
// 返 回 值: 无
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.FormClose(Sender: TObject;var Action: TCloseAction);
begin
Action:=caFree;
end;
//*****************************************************************************
// 函 数 名: StringGridDrawCell
// 功能描述: 选择行
// 参 数: 无
// 返 回 值: Boolean
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.StringGridDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if gdSelected in state then
StringGrid.Canvas.Brush.Color:=clBlue;
//StringGrid.Canvas.Font.Color :=clRed;
//StringGrid.Canvas.Brush.Color:=clBlue;
end;
//*****************************************************************************
// 函 数 名: StringGridDblClick
// 功能描述: 打开修改借书信息画面
// 参 数: 无
// 返 回 值: Boolean
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.StringGridDblClick(Sender: TObject);
begin
frmLendBookM:=TfrmLendBook.Create(Application);
frmLendBookM.Show;
frmLendBookM.PF_FormShow('修改借书信息',StringGrid.Cells[1,StringGrid.row]);
self.Enabled :=False;
end;
//*****************************************************************************
// 函 数 名: btnCloseClick
// 功能描述: 返回
// 参 数: 无
// 返 回 值: 无
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.btnCloseClick(Sender: TObject);
begin
Close;
end;
//*****************************************************************************
// 函 数 名: btnSaveClick
// 功能描述: 打开修改借书信息画面
// 参 数: 无
// 返 回 值: Boolean
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.btnSaveClick(Sender: TObject);
begin
StringGridDblClick(self);
end;
//*****************************************************************************
// 函 数 名: btnSaveClick
// 功能描述: 打开修改借书信息画面
// 参 数: 无
// 返 回 值: Boolean
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.btnDeleteClick(Sender: TObject);
begin
if MessageDlg('您确认要删除当前的借阅记录吗?',mtConfirmation,[mbYes,mbNo],0)=mrNo then begin
exit;
end;
if StringGrid.row<>0 then begin
if PF_DeleteData=False then begin
Exit;
end;
end;
if PF_GetData=False then begin
Exit;
end;
StringGrid.Row :=1;
end;
//*****************************************************************************
// 函 数 名: PF_UpdateData
// 功能描述: 保存数据
// 参 数: 无
// 返 回 值: Boolean
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
Function TfrmLendList.PF_DeleteData:Boolean;
var strSql : string;
begin
Result:=True;
with Db_Connect.Library_Query do begin
strSql:='';
strSql:=strSql + ' DELETE FROM BORROWINFO ';
strSql:=strSql + ' WHERE BR_BORROWNO='+StringGrid.Cells[1,StringGrid.row]+'';
DatabaseName:=gDbName;
Close;
SQL.Clear;
SQL.Add(strSql);
TRY
//SQL
ExecSQL;
MessageDlg('借书信息删除成功!',mtInformation,[mbOk],0);
except
on E:exception do
begin
Close;
Result:=False;
Application.MessageBox(PChar(E.Message),'图书管理信息系统',MB_OK + MB_ICONERROR);
exit;
end;
end;
end;
Db_Connect.Library_Query.Close;
end;
//*****************************************************************************
// 函 数 名: FormDestroy
// 功能描述: 窗体关闭
// 参 数: 无
// 返 回 值: Boolean
// 作成日期: 2004/03/13 作成者:Allan
// 修改日期:
//*****************************************************************************
procedure TfrmLendList.FormDestroy(Sender: TObject);
begin
frmMain.N29.Enabled :=True;
frmMain.N30.Enabled :=True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -