1、,sex=+combobox1.text+,sno=+maskedit1.Text+,birthdate=+DateToStr(DateTimePicker1.Date)+, id=+maskedit3.text+,native_place=+edit3.text+,address=+edit4.text+,phone=+maskedit2.text+ where sno=);ADOQuery1.execSQL;end;adoquery1.sql.clear;adoquery1.SQL.add(select * from 信管1002_23staff adoquery1.open;masked
2、it1.Text:=;edit2.Text:maskedit3.text:edit3.text:edit4.text:maskedit2.text:3 人员档案查询程序,程序名以“班级座号(表示程序名的中英文信息)”来命名,可以在查询框中输入人员姓名中的任何一个单字,查询出含该字的所有人员。 查询代码:with adoQuery1 do begin close; SQL.Clear; SQL.Add(select * from 信管1002_23staffwhere sname like %+edit1.text+open;物料档案包括物料代码、物料名称、规格型号、计量单位、库存数量、备注等字
3、段。1 物料档案的增加、修改、删除程序,程序名以“班级座号(表示程序名的中英文信息)”来命名,具体内容参考人员档案管理程序。物料表在数据库中以“班级座号(表示程序名的中英文信息)”来命名表,客户端输入时要求物料代码不为空,计量单位可以选择“件、套、公斤、吨、升、米、毫米、个”等,计量单位并可以输入其它单位名,库存数量默认为0。增加代码:with adoquery1 doBegin close; sql.clear; if (maskedit1.Text+datetostr(datetimepicker1.date)+ and 信管1002_Elevat.date0 then small.Sho
4、w; small.Caption:进仓流量最小物料的是:+adoquery2.FieldValues; end else small.Caption:总流量统计代码: savebtn.Hide;select * from 信管1002_23wljc3zllselect top 1 * from 信管1002_23wljc3 order by zll asc最小流动量的物料是:进出仓统计报表代码: savebtn.Show; DBChart1.Hide; result.Show; adoquery2.sql.Clear;select * from 信管1002_23wlll order by z
5、ll asc memo1.lines.Clear; memo1.Lines.Add(fmt( ,40)+物料进出仓流动统计报表#13+#10+#13+#10); memo1.Lines.Add( 代码 名称 规格 单位 进仓量 出仓量 总流量- if adoquery2.RecordCount wl:物料代码为:+adoquery2.fieldbyname(mno).AsString;=wl + 名称为: + adoquery2.FieldValues=wl + 规格为:+ adoquery2.FieldValuessStyle while not adoquery2.Eof do begin
6、 str:=fmt(adoquery2.FieldValues,10);=str+ +fmt(adoquery2.FieldValues,30);=str+fmt(adoquery2.FieldValues,20);sUnit if VarisNull(adoquery2.FieldValues) then str:=str + fmt(,13) else=str+fmt(inttostr(adoquery2.FieldValues),13);csum memo1.Lines.Add(str); adoquery2.Next; end; memo1.Lines.Add(流动量最小的物料是:+w
7、l+#13+#10); Memo1.Lines.Add(fmt(,85)+统计日期 +datetostr(date);2 打印进出仓单程序,给定月份,将该月进出仓单全部按单号顺序打印出来,程序名以“班级座号(表示程序名的中英文信息)”来命名。3 打印仓库账本程序,给定年份和物料,打印物料代码、名称、规格、计量单位、各日期的进仓、出仓和库存量;程序名以“班级座号(表示程序名的中英文信息)”来命名。预览代码: var yy:integer; yy:=strtoint(year.Text); if (year.Text=请先选择年份!,mterror,mbok,0) else begin adoqu
8、ery1.SQL.Clear; /year(date)=+inttostr(yy)+ and adoquery1.SQL.Add(select mno,mname,sStyle,sUnit,UnitsInStock from 信管1002_23materiel where mname=+mname.Text+ adoquery1.Open; adoquery1.Active: QuickRep3.Preview;实验课题四、用户登录与权限设计用户在这里就指操作人员,已经在人员档案中进行管理,通过设计用户登录和用户权限的管理,实现用户按权限访问资源,管理员按要求授予用户权限,登录程序安全稳定,设
9、计用户菜单及程序调用。人员表中需要新增字段口令、用户权限。系统中每个操作人员都可以作为用户,当一个用户权限修改时,不会影响其他用户;可以对每个用户单独授予某个程序的执行权,也可以收回其执行权,而不影响其他用户的权限;1 用户登录程序,名称用以“班级座号(表示程序名的中英文信息)”来命名,输入用户名和口令,判断正确后,按用户的权限,显示有权的菜单项,无权菜单项必须不可见或不可操作。登陆代码: var user,userdo:string; main.staff.show; main.materiel.show; main.inout.Show; main.flux.show; main.prin
10、t.show; main.master.show;if (userid.Text=) or (pass.Text=请先确认是否输入已经账号和者密码) begin ADOQuery1.close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from 信管1002_23masterwhere userid=+userid.text+ ADOQuery1.open; user:=ADOQuery1.FieldByName(username userdo:userdo if ADOQuery1.FieldByName(password).AsStr
11、ing=pass.Text then if pos(员工管理,userdo)=0 then main.staff.hide;物料管理 main.materiel.hide;物料进出仓管理 main.inout.Hide;统计流量管理 main.flux.hide;账本管理 main.print.hide;用户管理 main.master.hide; main.show2 用户授权程序,名称用以“班级座号(表示程序名的中英文信息)”来命名。有授权权限的用户,可以指定某个用户获取某个程序执行权,或被禁止某个程序的执行权。注册代码: root: for i:=0 to CheckListbox1.C
12、ount-1 do if CheckListBox1.Checkedi=true then root:=root+CheckListBox1.Items.Stringsi+ | if (username.Text=)or(userid.Text= messagedlg(请完整输入用户注册信息,密码可以为空! else if password1.Textpassword.Text then两次输入的登录密码不一样!,mterror,mbok,0); password.Clear; password1.Clear; Adoquery2.Close; Adoquery2.SQL.Clear; Adoquery2.SQL.Add(+userid.Text+ Adoquery2.open;if Adoquery2.RecordCount messagedlg(该账号已经存在!elseexec 信管1002_23insertuser +password.Text+username.Text+root+ Adoquery2.ExecSQL; Adoquery1.Clo