配色: 字号:
mis(1214)参考解
2013-01-29 | 阅:  转:  |  分享 
  
《管理信息系统》上机(1214)

MIS应用程序设计

实验环境:个人计算机,WindowsXP操作系统,VisualFoxPro6.0数据库管理软件。

实验内容:

一、成绩查询表单程序设计

SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。

为了对SCORE_MANAGER数据库数据进行查询,设计一个如图所示的表单(控件名为form1,表单文件名cjcx.scx)。表单的标题为"成绩查询"。表单左侧有文本"学号"(名称为Label1的标签)和用于选择学号的组合框(名称为combo1),"密码"(名称为Label2的标签)和用于输入学生查询密码的文本框(名称为Text1),以及"查询"(名称为Command1)和"退出"(名称为Command2)2个命令按钮和1个表格控件。

表单运行时,用户首先在组合框中选择学号,在文本框中输入学生查询密码(初始密码为"123"),然后单击"查询"按钮,如果输入密码正确,在表单右侧以表格(名称为Grid1)形式显示该生所选课程名和成绩,否则提示"学号或密码不正确,请重新选择和输入。"。

单击"退出"按钮,关闭表单。

设计要点:

1、若要在表格控件中显示查询结果,一般选择查询结果为临时表,即在相应的SQL查询语句中加入intocursor临时表名子句。

2、添加student到数据环境(右击表单空白区域,选择数据环境,再在其中右击选择添加);

3、设置grid1的columncount属性值为2,header1,header2的caption属性值分别为课程名,成绩。

4、设置combo1的rowsourcetype属性值为6,rowsource属性值为student.学号。

5、在“查询”按钮的Click事件中写实现查询功能的代码,以下为部分核心代码,请补充完整:

thisform.grid1.recordsourcetype=4

&&此语句的作用是设置表格数据的来源是SQL查询结果

thisform.grid1.recordsource=””

&&此语句的作用是指定具体的SQL查询语句,如

select…from…where…intocursortmp

参考代码如下:

a=alltrim(thisform.combo1.value)

b=alltrim(thisform.text1.value)

locatefor学号=a

iffound()andb=alltrim(查询密码)

thisform.grid1.recordsourcetype=4

thisform.grid1.recordsource="select课程名,成绩fromscore1innerjoincourseoncourse.课程号=score1.课程号wherescore1.学号=aintocursortmp"

else

messagebox("学号不存在或密码错误,请重新输入")

endif

6、在“退出”按钮的Click事件中写如下代码:

thisform.release































二、密码修改表单设计

表单文件名为xgmm.scx程序初始界面如下,提交按钮不可用(设置其enabled属性值为.f.):













用户输入学号和现在的密码,点确定按钮。若输入有错误,则弹出消息框提示用户重新输入,否则激活提交按钮,界面刷新如下:













用户输入完毕点提交按钮后,若两次输入的密码不一样,则弹出消息框提示用户重新输入,否则用新密码更新student表中该学生的旧密码,密码修改成功。

参考代码如下:

1)在form1的init事件过程中写如下代码:

publicsno

2)在“确定”按钮的click事件过程中写如下代码:

x=alltrim(thisform.text1.value)

y=alltrim(thisform.text2.value)

locatefory=alltrim(查询密码)andx=alltrim(学号)

iffound()

thisform.label1.caption="请输入新密码"

thisform.label2.caption="再输入一次新密码"

thisform.text1.value=""

thisform.text2.value=""

thisform.command2.enabled=.t.

sno=x

thisform.command1.enabled=.f.

else

messagebox("学号或密码不正确!")

endif

3)在“提交”按钮的click事件过程中写如下代码:

x=alltrim(thisform.text1.value)

y=alltrim(thisform.text2.value)

ifx==y

replace查询密码withx

messagebox("密码修改成功!")

else

messagebox("密码不一致!")

endif

三、创建学生成绩管理信息系统的主程序界面

1)创建主表单。主表单有一欢迎标签,有背景图片(设置表单的picture属性值)。















































































2)创建系统菜单

新建菜单,按如下提示操作并完善菜单设计。选择显示|常规选项,勾选顶层表单,最后选择菜单|生成命令,生成菜单程序文件xcd.mpr。















































3)将菜单加入表单

设置表单的ShowWindow属性值为2;在表单(form1)的init事件过程中写如下代码:Dozcd.mprwiththis

4)拓展

该学生成绩管理信息系统尚有诸多需充实完善之处。如实现一定的数据统计功能,使学生可获知某门课程的成绩名次;扩充管理员的数据更新功能,可对数据库中不同数据进行添加、修改、删除等操作。

献花(0)
+1
(本文系等你在交大首藏)