用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

图 书 仓 库 管 理 系 统

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:52:16
base组件,该组件引入了系统所需的唯一的数据库tsxs,Database组件的DatabaseName属性设置为tsckgl。tsxs数据库已在ODBC配置程序中进行了设置。其他的数据存取组件都是基于此数据库组件创建的,这样做的好处是,当数据库的别名或者其他信息改变之后,只需修改Tdatabase组件的AliasName属性即可。
另外,在本系统的数据模块窗体图中,我大多采用的AODQuery组件而没有采用BDE组,这主要是基于对ADO组件的了解。在Delphi的学习中我对ADO组件了解的更加清楚,使用也较BDE更为熟练,而且,ADO组件的功能也较BDE更为强大,所以在这里大多采用ADO组件来进行数据库联接。同时我也使用了BDE组件中的Table,因为在某些时候BDE有着其自身特有的优越性。  主窗体功能模块的实现                          
file://主窗体程序代码
public      file://在程序的起始部分,定义快捷按钮点击事件
Procedure Popup1Handler(Sender:Tobject);
Procedure Popup2Handler(Sender:TObject);
**********************************************************************
procedure Tmainform.Popup1Handler(Sender: TObject);
begin       file://快捷按钮1(点“按出版社分类”按钮产生)的点击事件
with datamoduleform.MainQuery do    
begin     file://打开数据模块窗体的MainQuery,对BookRecord表进行操作
close;     file://关闭MainQuery
SQL.Clear;      file://清除SQL属性中的SQL命令语句
SQL.Add(‘select * from BookRecord where Publisher=:Pub‘); file://添加新的SQL语句
Parameters.ParamByName(‘Pub‘).Value:=(Sender as TMenuItem).Caption;
open;      file://重新打开MainQuery
end;
end;
**********************************************************************
procedure Tmainform.SpeedButton1Click(Sender: TObject);
Var s1,s2,s3,s4,s5 :String;     file://设立5个变量以方便实现模糊查询
begin      file://主窗口库存查询按钮事件
with datamoduleform.MainQuery do
begin
close;
SQL.Clear;
SQL.Add(‘select * from BookRecord‘);
SQL.Add(‘where BookID Like :BookID and BookName Like :Name and Author Like :Author and Publisher Like :pub and BookType Like :BookType‘);
           file://使用Like语句来实现模糊查询
if Edit1.Text<>‘‘  then  s1:=‘%‘+Edit1.Text+‘%‘   else  s1:=‘%‘;
Parameters.ParamByName(‘BookID‘).Value:=s1;         file://给变量s1赋值
if Edit2.Text<>‘‘  then  s2:=‘%‘+Edit2.Text+‘%‘   else  s2:=‘%‘;
Parameters.ParamByName(‘Name‘).Value:=s2;           file://给变量s2赋值
if Edit3.Text<>‘‘  then  s3:=‘%‘+Edit3.Text+‘%‘   else  s3:=‘%‘;
Parameters.ParamByName(‘Author‘).Value:=s3;          file://给变量s2赋值
if Edit4.Text<>‘‘  then  s4:=‘%‘+Edit4.Text+‘%‘   else  s4:=‘%‘;
Parameters.ParamByName(‘Pub‘).Value:=s4;             file://给变量s2赋值
if Edit5.Text <>‘‘  then  s5:=‘%‘+Edit5.Text+‘%‘   else  s5:=‘%‘;
Parameters.ParamByName(‘BookType‘).Value:=s5;        file://给变量s2赋值
open;
if FieldValues[‘BookID‘]=NULL         file://判断是否找到记录
then  begin
Messagedlg(‘没有找到你所需要的记录!‘,mtInformation,[mbOK],0);
Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit4.Text:=‘‘;Edit5.Text:=‘‘;
close;
SQL.Clear;
SQL.Add(‘select * from BookRecord‘);     file://这里相当于一个刷新功能
open;
end;end;
end;
**********************************************************************
procedure Tmainform.SpeedButton3Click(Sender: TObject);
begin         file://库存表刷新按钮事件
with datamoduleform.MainQuery do
begin
close;
SQL.Clear;
SQL.Add(‘select * from BookRecord‘);
open;
end;  
end;
**********************************************************************
procedure Tmainform.SpeedButton11Click(Sender: TObject);
var PopupItem:TMenuItem;
begin         file://自动生成快捷按钮1的内容
with datamoduleform.BookQuery do
begin         file://从数据库中选择出版社类型
close;
SQL.Clear;
SQL.Add(‘select distinct Publisher from BookRecord‘);
open;
PopupMenu1:=TPopupMenu.Create(Self);  file://自动生成快捷菜单
PopupMenu1.AutoHotkeys:=maManual;    file://自定义热键
while Not Eof do
begin           file://根据出版社内容生成菜单子项
PopupItem:=TMenuItem.Create(Self);
PopupItem.Caption:=FieldByName(‘Publisher‘).AsString;
PopupMenu1.Items.Add(PopupItem);
PopupItem.onClick:=Popup1Handler;     file://确定菜单子项的点击事件
Next;
end;  end;
PopupMenu1.Popup(384,67);      file://在指定位置显示快捷菜单1
end;
**********************************************************************
procedure Tmainform.FormActivate(Sender: TObject);
begin      file://系统初始化,在进入mai

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:16,968.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号