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

📄 unit3.pas

📁 2个用Delphi做的图书管理系统
💻 PAS
字号:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, Mask, DBCtrls, Buttons,
  ExtCtrls;

type
  TForm3 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    booknameED: TEdit;
    bookIDED: TEdit;
    AuthorED: TEdit;
    Label8: TLabel;
    PubED: TEdit;
    PriceED: TEdit;
    CountED: TEdit;
    TypeCB: TComboBox;
    infMo: TMemo;
    TabSheet3: TTabSheet;
    Label9: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DBGrid1: TDBGrid;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    BitBtn3: TBitBtn;
    DBGrid2: TDBGrid;
    GroupBox1: TGroupBox;
    RadioGroup1: TRadioGroup;
    GroupBox2: TGroupBox;
    Label13: TLabel;
    Label14: TLabel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    RadioButton3: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton1: TRadioButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Image1: TImage;
    procedure FormHide(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure DBGrid2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

uses Unit1, Unit2;

{$R *.dfm}
////////////////////////////////////////////////
procedure TForm3.FormHide(Sender: TObject);//切换到主窗口
begin
form1.Show;
end;
///////////////////////////////////////////////////////
procedure TForm3.BitBtn1Click(Sender: TObject); ////添加记录
var
querystr:string;
typeid:string;
i:integer;
begin
if booknameed.Text='' then
begin
messagedlg('书名不能为空!',mtwarning,[mbok],0);
exit;
end;
if bookided.Text='' then
begin
messagedlg('书号不能为空!',mtwarning,[mbok],0);
exit;
end;
if counted.Text='' then
begin
messagedlg('数量不能为空!',mtwarning,[mbok],0);
exit;
end;
for i:=1 to counted.GetTextLen do
case counted.Text[i] of
'0'..'9':
else
messagedlg('数量格式错误!',mtwarning,[mbok],0);
exit;
end;
querystr:='select * from book_type where typename='+''''+typecb.Text+'''';
dm.ADOQuery2.SQL.Clear;
dm.ADOQuery2.Close;
dm.ADOQuery2.SQL.Add(querystr);
dm.ADOQuery2.Open;
typeid:=dm.ADOQuery2.FieldValues['booktypeid'];
querystr:='insert into book_inf  values(';
querystr:=querystr+''''+bookided.Text+''''+',';
querystr:=querystr+''''+pubed.Text+''''+',';
querystr:=querystr+''''+booknameed.Text+''''+',';
querystr:=querystr+''''+typeid+''''+',';
querystr:=querystr+''''+authored.Text+''''+',';
querystr:=querystr+''''+infmo.Text+''''+',';
querystr:=querystr+''''+priceed.Text+''''+')';
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add(querystr);
dm.ADOQuery1.ExecSQL;
querystr:='insert into book_stock values(';
querystr:=querystr+'"'+bookided.Text+'",';
querystr:=querystr+'"'+counted.Text+'")';
dm.ADOQuery2.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add(querystr);
dm.ADOQuery1.ExecSQL;

if messagedlg('录入数据成功,是否还要继续输入?',mtConfirmation,[mbyes,mbno],0)=mrno then
close;
TabSheet1Show(Sender);
end;

/////////////////////////////////////////////////////////
procedure TForm3.BitBtn2Click(Sender: TObject);//退出“图书整理”窗口
begin
form3.close;
end;

procedure TForm3.TabSheet1Show(Sender: TObject);
var
querystr,bookidtemp:string;
i:integer;
begin
form3.Caption:='图书管理--图书入库';
booknameed.Text:='';
authored.Text:='';
pubed.Text:='';
infmo.Text:='';
priceed.Text:='';
counted.Text:='';
querystr:='select bookid from book_inf where bookid=(select max(bookid) from book_inf)';
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Add(querystr);
dm.ADOQuery1.Open;
bookided.Text:=inttostr(strtoint(dm.ADOQuery1.FieldValues['bookid'])+1);
bookidtemp:='';
for i:=0 to 7-bookided.GetTextLen do
bookidtemp:=bookidtemp+'0';
bookidtemp:=bookidtemp+bookided.Text;
bookided.Text:=bookidtemp;
infmo.Text:='';
typecb.Items.Clear;
querystr:='select typename from book_type';
dm.ADOQuery2.SQL.Clear;
dm.ADOQuery2.Close;
dm.ADOQuery2.SQL.Add(querystr);
dm.ADOQuery2.Open;
dm.ADOQuery2.First;
for i:=1 to dm.ADOQuery2.RecordCount do
begin
  typecb.Items.Add(dm.ADOQuery2.FieldValues['typename']);
  dm.ADOQuery2.Next;
end;
typecb.ItemIndex:=0;
end;

procedure TForm3.TabSheet2Show(Sender: TObject);
var
querystr:string;
begin
form3.Caption:='图书管理--图书整理';
querystr:='select book_inf.bookid,bookname,booklast from book_inf,book_stock where book_stock.bookid=book_inf.bookid';
dm.ADOQuery3.SQL.Clear;
dm.ADOQuery3.Close;
dm.ADOQuery3.SQL.Add(querystr);
dm.ADOQuery3.Open;
end;

procedure TForm3.TabSheet3Show(Sender: TObject);
var
querystr:string;
begin
form3.Caption:='图书管理--类别整理';
radiobutton1.Checked:=true;
querystr:='select * from book_type';
dm.ADOQuery4.SQL.Clear;
dm.ADOQuery4.Close;
dm.ADOQuery4.SQL.Add(querystr);
dm.ADOQuery4.Open;
edit1.Text:=dm.ADOQuery4.FieldValues['booktypeid'];
edit2.Text:=dm.ADOQuery4.FieldValues['typename'];
end;

procedure TForm3.BitBtn3Click(Sender: TObject);
var
querystr,datatemp:string;
begin
  datatemp:=dm.ADOQuery3.FieldValues['bookid'];
  querystr:='delete from book_inf where bookid="'+datatemp+'"';
  dm.ADOQuery3.Close;
  dm.ADOQuery3.SQL.Clear;
  dm.ADOQuery3.SQL.Add(querystr);
  dm.ADOQuery3.ExecSQL;
  querystr:='delete from book_stock where bookid="'+datatemp+'"';
  dm.ADOQuery3.Close;
  dm.ADOQuery3.SQL.Clear;
  dm.ADOQuery3.SQL.Add(querystr);
  dm.ADOQuery3.ExecSQL;
TabSheet2Show(Sender);
end;

procedure TForm3.BitBtn4Click(Sender: TObject);
var
querystr:string;
i:integer;
begin
for i:=1 to edit1.GetTextLen do
case edit1.Text[i] of
'0'..'9',' ':
else
messagedlg('编号输入有误,请更改!',mterror,[mbok],0);
exit;
end;
if radiobutton1.Checked then //修改
begin
  for i:=1 to dm.ADOQuery4.RecordCount do
    if edit1.Text=dm.ADOQuery4.FieldValues['booktypeid'] then
    begin
      messagedlg('编号已存在,请更改!',mterror,[mbok],0);
      exit;
    end;
dm.ADOQuery4.Edit;
dm.ADOQuery4.FieldValues['booktypeid']:=edit1.Text;
dm.ADOQuery4.FieldValues['typename']:=edit2.Text;
end;
if radiobutton2.Checked then//添加
begin
  for i:=1 to dm.ADOQuery4.RecordCount do
    if edit1.Text=dm.ADOQuery4.FieldValues['booktypeid'] then
    begin
      messagedlg('编号已存在,请更改!',mterror,[mbok],0);
      exit;
    end;
  querystr:='insert into book_type values(';
  querystr:=querystr+''''+edit1.Text+''''+',';
  querystr:=querystr+''''+edit2.Text+''''+')';
  dm.ADOQuery4.SQL.Clear;
  dm.ADOQuery4.SQL.Add(querystr);
  dm.ADOQuery4.ExecSQL;
  TabSheet3Show(Sender);
end;
if radiobutton3.Checked then
dm.ADOQuery4.Delete;
end;

procedure TForm3.DBGrid2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  edit1.Text:=dm.ADOQuery4.FieldValues['booktypeid'];
  edit2.Text:=dm.ADOQuery4.FieldValues['typename'];
end;

procedure TForm3.RadioButton3Click(Sender: TObject);
begin
edit1.ReadOnly:=true;
edit2.ReadOnly:=true;
end;

procedure TForm3.RadioButton1Click(Sender: TObject);
begin
edit1.ReadOnly:=false;
edit2.ReadOnly:=false;
end;

procedure TForm3.BitBtn5Click(Sender: TObject);
begin
close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -