end;end;end; §5.5 查询功能的实现 查询功能包括员工信息查询,供应商信息查询,入库信息查询和出库信息查询。由于每一个功能的实现都差不太多,而且其窗体也差不太多,所以在这里只给出员工信息查询窗体及其源代码。 图5.6 员工信息查询窗体procedure tfindempform.speedbutton1click(sender: tobject);var s1,s2,s3 :string;begin file://员工记录查询窗体查找按钮事件with datamoduleform.empquery dobeginclose;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://在找到记录的情况下关闭查找窗口elsebeginmessagedlg(''没有找到你所需要的记录!'',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://登陆窗口登陆按钮事件beginif (edit1.text='''') then beginmessagedlg(''清输入登陆姓名和密码!'',mtinformation,[mbok],0);edit1.setfocus;endelse begindatamoduleform.keytable.active:=true;if not datamoduleform.keytable.locate(''keyname'',edit1.text,[]) file://判断登陆名是否存在then beginmessagedlg(''登陆名错误,请重新输入!'',mtinformation,[mbok],0);edit1.text:=''''; edit1.setfocus;
endelse beginwith datamoduleform.keyquery dobeginclose; 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 beginmessagedlg(''登陆密码错误,请重新输入!'',mtinformation,[mbok],0);edit2.text:=''''; edit2.setfocus;endelse beginkeyname:=edit1.text;keyform.hide;mainform.show;mainform.windowstate:=wsmaximize