l(sle_luqu)then
ifisdate(sle_luqu.text)then
ld_luqu=date(sle_luqu.text)
else
messagebox("输入数据错误","请使用'年-月-日'的日期格式")
sle_luqu.setfocus()
return
endif
endif
ll_id=long(sle_id.text)
ifrb_cy.checked=truethen
ls_party=rb_cy.text
else
ifrb_cp.checked=truethen
ls_party=rb_cp.text
else
ls_party=rb_none.text
endif
endif
ifrb_man.checked=truethen
ls_sex=rb_man.text
else
ifrb_woman.checked=truethen
ls_sex=rb_woman.text
endif
endif
ifddlb_nation.text="none"then
ls_nation=""
else
ls_nation=trim(ddlb_nation.text)
endif
ifddlb_nianji.text="none"then
ls_nian=""
else
ls_nian=trim(ddlb_nianji.text)
endif
ifddlb_xz.text="none"then
ls_xz=""
else
ls_xz=trim(ddlb_xz.text)
endif
ifddlb_banming.text="none"then
ls_ban=""
else
ls_ban=trim(ddlb_banming.text)
endif
ifddlb_fang.text="none"then
ls_fang=""
else
ls_fang=trim(ddlb_fang.text)
endif
selectjiben1.xuehao
into:ll_i
fromjiben1
wherejiben1.xuehao=:ll_id;
ifll_i<>0then
messagebox("错误信息","学号第"+string(ll_i)+"号重号!请改正。")
sle_id.setfocus()
return
endif
ls_name=trim(sle_name.text)
ll_shenfen=long(sle_shenfen.text)
ll_luqu=long(sle_luquhao.text)
ls_school=trim(sle_school.text)
ls_email=trim(sle_email.text)
ls_home=trim(sle_home.text)
ls_tel=trim(sle_tel.text)
insertinto"jiben1"
("xuehao","xingming","xingbie","shengri","minzu","zzmm","jiguan","shenfenzheng","luquhao","nianji","banji","banming","fangxiang","luqushijian","gerenjianli","biezhu","yuanbiyexuexiao","dianhua","email")
values(:ll_id,:ls_name,:ls_sex,:ld_birthday,:ls_nation,:ls_party,:ls_home,:ll_shenfen,:ll_luqu,:ls_nian,:ls_xz,:ls_ban,:ls_fang,:ld_luqu,:mle_resume.text,:mle_beizhu.text,:ls_school,:ls_tel,:ls_email);
sle_id.text=""
sle_name.text=""
sle_birthday.text=""
sle_shenfen.text=""
sle_luquhao.text=""
sle_luqu.text=""
sle_school.text=""
sle_email.text=""
sle_home.text=""
sle_tel.text=""
mle_resume.text=""
mle_beizhu.text=""
sle_id.setfocus()
这里主要应用了insert语句来实现表的信息录入。其中应用到了单行文本框、单选按钮、下拉列表、命令按钮等控件的使用。下面是窗口的界面
注:(1)通过该窗体用户可以添加学生的基本信息
(2)用户可以点击确认后保存,重置将不保存,退出将关闭窗口。
4.5学籍查询窗体设计
当你点击"基本情况查询"或者相应的工具栏上的图标可以打开学生信息查询的窗口,在这里主要应用了tab控件来完成的,信息查询多样化适合不同用户的查询需求。其中查询是通过"setfilter"语句来完成的。还有精确查询部分和模糊查询部分,通过模糊查询用户可以输入相关的字节来得到想要得信息。在这里主要是用数据窗口控件来实现数据窗口与窗口来连接的,其实现方法简单,易懂,从而用少量的工作时间来完成较大的工作量。在其他的窗口的设计之中也应用了数据窗口控件的强大的功能。由于数据的需求风格是千差万别的,所以要求数据的显示风格就不同,这就要求从建立数据窗口的freeform,grid,label,N-up,graph,ole,richtext,crosstab等几中风格中选择合适的方便用户的使用。例如在设计成绩统计时我使用了Group风格的方式,可以使一个学生的多科成绩的群组显示,方便、直观。在大量的信息显示时用Grid风格可以显示多条信息,便于相互间的比较。在录入信息中多采用Freeform的风格来录入单条的信息。
下图为学生基本信息的查询窗口:
上图即为按性别"男"查询的信息。这种设计方法适合于一般的操作用户,只要点击一个条件即可查询要的信息,方便易用。其中在按家庭住址一项中你可以输入一个简单的字符或字符串即可的到包含该条件的相关记录,十分方便。下面是在地址栏里输入"辽宁"得到的相关信息:
注:(1)该窗口介绍了所有学生的信息,你可以按标签依次按不同的条件查询信息。其中包括姓名、性别、出生日期、家庭住址等信息。
(2)用户可以单击"打印"、"打印预览"、"还原预览"、完成需要的操作。按"退出"按钮则关闭该窗体。
4.6学籍修改窗体的设计
学生的信息不是一成不变的,有些信息要改变就需要修改,那么通过数据窗口控件就可以完成此功能,你可以方便的修改以注册学生的信息。单击"学籍修改"或相应的工具栏图标可出现"学籍修改窗体"如图:
注:(1)通过该窗口用户可以找到学生的信息,从而来修改,操作起来很方便。
(2)用户可以根据"上一条","下一条"来滚动信息,也可查找来动态的查找而修改记录。另外,可以通过"添加"按钮来添加记录。单击"更新"按钮即保存修改,又可以用删除按钮来删除当前记录。按"退出"则关闭该窗体。
4.7学籍的异动录入窗体设计
学生有些时候需要调换班级或转学这就需要记录信息,并更改基本数据数据的信息,应用sql语句的强大功能,借助inset语句实现了数据的存储与更改。其部分语句如下:
stringls_id,ls_name,ls_fang,ls_ban,ls_xfang,ls_xban,ls_zt
dateld_shijian
ls_name=trim(sle_3.text)
ls_id=trim(sle_1.text)
ls_fang=trim(sle_2.text)
ls_ban=trim(sle_4.text)
ls_xfang=trim(ddlb_1.text)
ls_xban=trim(ddlb_2.text)
ifrb_1.checked=truethen
ls_zt=rb_1.text
else
ifrb_2.checked=truethen
ls_zt=rb_2.text
endif
endif
ifsle_5.text<>""andnotisnull(sle_5)then
ifisdate(sle_5.text)then
ld_shijian=date(sle_5.text)
else
messagebox("输入数据错误","请使用'年-月-日'的日期格式")
sle_5.setfocus()
return
endif
endif
insertinto"bian"
("xuehao","xingming","banming","fangxiang","xfangxiang","xbanming","yuanyin","shijian","beizhu","zhuangtai")
values(:ls_id,:ls_name,:ls_ban,:ls_fang,:ls_xfang,:ls_xban,:mle_1.text,:ld_shijian,:mle_2.text,:ls_zt);
UPDATE"jiben1"
SET"fangxiang"=:ddlb_1.text,
"banming"=:ddlb_2.text
WHERE"jiben1"."xuehao"=:aa
messagebox("更新成功!","您的信息已经更新成功")
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
mle_1.text=""
mle_2.text=""
界面设计如下:
4.8组合查询窗体的设计
应不同用户的需求单单的简单查询是远远不够的,在此我设计了一个通过数据窗口控件动态的随用户需求而生成sql语句,来完成组合查询的目的。并且在其中可将查询到的记录保存成txt文件,以便于编辑使用,这可以完成十分强大的查询功能。是本次开发我自己的满意之处。下面是组合查询的界面设计。
该功能实现的"开始统计"按钮的代码如下:
stringls_xb,ls_zhi,ls_fh,ls_yu,aaa,ls_csny
dateld_jzsj,ld_gzny,ld_xb
intll_rows,a,b,i
ll_rows=dw_1.rowcount()
ifll_rows>0then
a=long(ll_rows)
ls_xb=trim(dw_1.object.data[1,1])
ls_fh=trim(dw_1.object.data[1,2])
ls_zhi=trim(dw_1.object.data[1,3])
aaa="str
上一篇:
pb学生信息管理+论文(论文和程序)
下一篇:
回首沧桑,只想平淡如水