图 书 仓 库 管 理 系 统
Edit8.ReadOnly:=false;Edit8.Text:=‘‘;Edit8.Color:=clWindow;
Edit9.ReadOnly:=false;Edit9.Text:=‘‘;Edit9.Color:=clWindow;
Edit10.ReadOnly:=false;Edit10.Text:=‘‘;Edit10.Color:=clWindow;
Edit11.ReadOnly:=false;Edit11.Text:=‘‘;Edit11.Color:=clWindow;
Edit12.ReadOnly:=false;Edit12.Text:=‘‘;Edit12.Color:=clMenu;
Edit25.ReadOnly:=false;Edit25.Text:=‘‘;Edit25.Color:=clWindow;
end;
procedure Tinoutform.SpeedButton22Click(Sender: TObject);
var s:integer;
begin file://出库管理确定按钮事件
if (Edit24.Text=‘‘) or (Edit27.Text=‘‘) or (Edit28.Text=‘‘)
then begin
MessageDlg(‘请输入完整的出库信息!‘,mtInformation,[mbok],0);
Edit24.SetFocus;
end
else begin
if Edit27.Text>Edit21.Text file://检查出库数量是否小于库存数量
then begin
MessageDlg(‘库存中的图书数量不够!‘,mtInformation,[mbok],0);
Edit27.Text:=‘‘;Edit27.SetFocus;
end
else begin
with datamoduleform.OutQuery do
begin
close;
SQL.Clear;
SQL.Add(‘insert into OutRecord values(:OutID,:BookID,:EmpID,
:Number,:OutTime)‘); file://添加出库记录
Parameters.ParamByName(‘OutID‘).Value:=Edit23.Text;
Parameters.ParamByName(‘BookID‘).Value:=Edit14.Text;
Parameters.ParamByName(‘EmpID‘).Value:=Edit24.Text;
Parameters.ParamByName(‘Number‘).Value:=Edit27.Text;
Parameters.ParamByName(‘OutTime‘).Value:=Edit28.Text;
execSQL;
end;
Edit21.ReadOnly:=False;
s:=StrToInt(Edit21.Text)-StrToInt(Edit27.Text); file://计算出库后库存图书数量
Edit21.Text:=IntToStr(s); file://显示出库后库存图书数量
Edit21.ReadOnly:=True;
with datamoduleform.BookQuery do
begin file://修改库存图书数量
close;
SQL.Clear;
SQL.Add(‘update BookRecord set Number1=:Number where BookID=:BookID‘);
Parameters.ParamByName(‘Number‘).Value:=s;
Parameters.ParamByName(‘BookID‘).Value:=Edit14.Text;
execSQL;
end;
MessageDlg(‘出库记录添加成功!‘,mtInformation,[mbok],0);
Edit14.Text:=‘‘;Edit14.SetFocus;
end;
end;
end;
§5.5 查询功能的实现
查询功能包括员工信息查询,供应商信息查询,入库信息查询和出库信息查询。由于每一个功能的实现都差不太多,而且其窗体也差不太多,所以在这里只给出员工信息查询窗体及其源代码。
图5.6 员工信息查询窗体
procedure Tfindempform.SpeedButton1Click(Sender: TObject);
Var s1,s2,s3 :String;
begin file://员工记录查询窗体查找按钮事件
with datamoduleform.EmpQuery do
begin
close;
SQL.Clear;
SQL.Add(‘select * from Employee‘);
SQL.Add(‘where EmployeeID Like :EmpID and EmployeeName Like :Name and Grade Like :Grade‘); file://实现模糊查询功能
if Edit1.Text<>‘‘ then s1:=‘%‘+Edit1.Text+‘%‘ else s1:=‘%‘;
Parameters.ParamByName(‘EmpID‘).Value:=s1;
if Edit2.Text<>‘‘ then s2:=‘%‘+Edit2.Text+‘%‘ else s2:=‘%‘;
Parameters.ParamByName(‘Name‘).Value:=s2;
if Edit3.Text<>‘‘ then s3:=‘%‘+Edit3.Text+‘%‘ else s3:=‘%‘;
Parameters.ParamByName(‘Grade‘).Value:=s3;
open;
if FieldValues[‘EmployeeID‘]<>NULL
then findempform.Close file://在找到记录的情况下关闭查找窗口
else
begin
MessageDlg(‘没有找到你所需要的记录!‘,mtInformation,[mbOK],0);
Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit1.SetFocus;
close; SQL.Clear;
SQL.Add(‘select * from Employee‘); file://刷新员工信息窗口
open;
end; end;
end;
§5.6 系统登陆窗体模块的实现
由于系统登陆窗体中有一幅彩图,在这里不便给出,而只给出了系统的实现。
var keyname: string; file://定义了一个全局变量,在key2中有调用
procedure Tkeyform.SpeedButton1Click(Sender: TObject);
var s:string; file://登陆窗口登陆按钮事件
begin
if (Edit1.Text=‘‘) then begin
MessageDlg(‘清输入登陆姓名和密码!‘,mtInformation,[mbok],0);
Edit1.SetFocus;
end
else begin
datamoduleform.KeyTable.Active:=true;
if not datamoduleform.KeyTable.Locate(‘KeyName‘,Edit1.Text,[])
file://判断登陆名是否存在
then begin
MessageDlg(‘登陆名错误,请重新输入!‘,mtInformation,[mbok],0);
Edit1.Text:=‘‘; Edit1.SetFocus;
end
else begin
with datamoduleform.KeyQuery do
begin
close; SQL.Clear;
SQL.Add(‘select * from Key where KeyName=:KeyName‘);
Parameters.ParamByName(‘KeyName‘).Value:=Edit1.Text;
open;
s:=FieldValues[‘KeyNo‘];
end;
if s<>Edit2.Text file://判断登陆密码是否正确
then begin
MessageDlg(‘
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 下一页
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论