📄 unit3.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 + -