[摘要]每年秋季各高中招生时需要查询学生的分数等相关信息,以此作为是否录取及缴费的依据。如果用excel查询不能保证分数的公正性,因为在excel表中可以随意修改信息。而vf60数据库中的分数表放在数据库里,除管理员外任何人是无法更改的。另外,只通过报名号或者考试号查询,避免了按姓名查询带来的弊端(具有唯一性)。本系统扩展后还可以作为学籍管理系统使用。
[关键词] 交互式查询 公正 快速
[软件]Microsoft Visual FoxPro 6.0
一、密码表:(界面)
输入密码可登录查询页
i=i+1 &&设置变量i
if i<=3
if thisform.text1.value="xyq5zzjg"
messagebox("你可以进入系统了!")
thisform.release
else
messagebox("密码错,请重新输入,只可输入三次!")
thisform.text1.value=""
thisform.text1.setfocus
endif
else
messagebox("对不起,你是非法用户!请向庄家国询问!")
thisform.release
endif
do form inputbmh &&进入查询号码表单
二、输入报名号或者考试号查询姓名、分数等
t=0 &&以其值为判断条件
bmhh=alltrim(thisform.text1.value)
kshh=alltrim(thisform.text2.value)
*变量获得用户输入值
if !empty(bmhh) and !empty(kshh)
t=3
else
if!empty(bmhh)
t=1
else
if!empty(kshh)
t=2
else
messagebox(信息不全,请填写完整!)
thisform.text1.setfocus
return
endif
endif
endif
*检查报名号和考试号是否为空。当报名号不为空而考试号为空时,t=1;
*当报名号为空而考试号不为空时,t=2;都不为空时,t=3
do case
case t=1
loca for bmh=bmhh
case t=2
loca for ksh=kshh
case t=3
loca for bmh=bmhh and ksh=kshh
endcase
if found()
a=messagebox("请核对以上号码,如果正确,查!",1+48+0,"注意!")
if a=1
do form outall
else
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
endif
else
messagebox("对不起,没有该记录,请重新输入!")
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
endif
三、查询传递表:
Form 的int程序
if found()
if bmh=bmhh
thisform.text1.value=bmh
thisform.text2.value=ksh
thisform.text3.value=xm
thisform.text4.value=zf1
thisform.text5.value=zf3
thisform.text6.value=zxdm
thisform.text7.value=jtzz
else
if ksh=kshh
thisform.text1.value=bmh
thisform.text2.value=ksh
thisform.text3.value=xm
thisform.text4.value=zf1
thisform.text5.value=zf3
thisform.text6.value=zxdm
thisform.text7.value=jtzz
endif
endif
endif
四、打印表:
查询正确后打印
t=0 &&以其值为判断条件
bmhh=alltrim(thisform.text1.value)
kshh=alltrim(thisform.text2.value)
*变量获得用户输入值
if !empty(bmhh) and !empty(kshh)
t=3
else
if!empty(bmhh)
t=1
else
if!empty(kshh)
t=2
else
messagebox(信息不全,请填写完整!)
thisform.text1.setfocus
return
endif
endif
endif
*检查报名号和考试号是否为空。当报名号不为空而考试号为空时,