⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lendlist.~pas

📁 图书管理系统
💻 ~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 + -