的分析、进行系统设计、系统的实现,最后进行系统的测试与安装并形成各种文档。
在本次毕业设计中遇到了许多的问题,带着这些问题,自己去寻找相应的资料,去请教老师,最终问题得以解决。
首先,在建立表的时,我对索引的建立不是很明确,有些混淆,导致主索引的不唯一,经过修改,这些问题得到解决,进而在表之间建立了联系。
其次,在做好表单时,一些字段的未绑定,操作符/操作数类型的不匹配问题,让我在毕业设计中缓步不前,在老师的帮助下,通过查找书本知识和程序代码,逐步发现自己的错误,有的是缺少定义,也有的是系统默认的参数类型与自己定义的不相匹配,导致运行时不能顺利通过。如:我在学生表中定义学生的出生日期时,字段类型是日期型,而在运行程序时,系统默认为字符型,我一直不能在此通过程序,在反复思考与实践中加了一个ctod()函数,用ctod(csrq)将出生日期的类型强制转换为日期型;在一些表单中的编码和调试的过程中,我发现了一些自己平时不太注意的细节问题,通过这次毕业设计,问题得以解决。
最后,整个设计初步完成时,发现表单、报表等较单调,我又对背景色和字体的颜色作了相应的修改,并相应的对表单上控件的排列做了一定的调整,这样运行后的效果有了明显的改观,吸引了用户来使用。它涉及到用户界面的美观、整洁问题,为自己以后进一步开发系统做了很好的示范。在这次毕业设计和论文的写作过程中得到了指导老师大力帮助,在此深表谢意。
5.4.致谢
感谢我的指导老师,在毕业设计的选题、文献查阅、论文修改、定稿等过程中的帮助,使我受益匪浅。感谢指导老师耐心的督促和帮助我,使我在困难的时候能够有很好的心态去解决,去克服。我不仅在老师那边学到了综合运用专业知识的能力,系统开发的基本能力,更学到了做人的道理,老师严谨的治学精神以及丰富的理论水平和对我门认真负责的态度都是我值得学习的。
在指导老师帮助以及自己的努力下,毕业设计基本上达到了预期的效果,由于种种条件的限制,做的不是很完美,但我想通过以后更多知识的积累,我会做的更好的!
参考文献
[1]单启成"新编VisualFoxpro教程",苏州大学出版社,2002
[2]宋立智"举一反三VisualFoxpro数据库编程实战训练",人民邮电出版社,2003
[3]钱培德,崔建忠"新编VisualFoxpro学习指导",苏州大学出版社,2002
[4]薛华成"管理信息系统",清华大学出版社,2003
附录
程序代码:
1.系统管理员表单中确定按钮的click的事件中的程序代码如下:
settalkoff
ifalltrim(thisform.text1.value)=="system12345"
ifalltrim(thisform.text2.value)=="678910sys"
thisform.release
doformd:\学生学籍管理信息系统\forms\yfsc.scx
else
thisform.spinner1.value=thisform.spinner1.value+1
ifthisform.spinner1.value=3
messageb("你输入的用户名或口令不正确!"+chr(13)+"对不起,你无权使用!",48,"系统信息")
releasethisform
else
messageb("你输入的用户口令有误,请重新输入!")
thisform.text2.value=""
thisform.text2.setfocus
thisform.text2.setfocus
endif
endif
else
messageb("你输入的用户名有误,请重新输入!")
thisform.text1.value=""
thisform.text1.setfocus
endif
2.学生信息录入表单中确定按钮的click的事件中的程序代码如下:
a=thisform.pageframe1.page1.text1.value
b=thisform.pageframe1.page1.text2.value
c=thisform.pageframe1.page1.text3.value
d=thisform.pageframe1.page1.text4.value
e=thisform.pageframe1.page1.text5.value
f=thisform.pageframe1.page1.combo1.value
g=thisform.pageframe1.page1.combo2.value
h=thisform.pageframe1.page1.combo3.value
l=thisform.pageframe1.page1.combo4.value
m=thisform.pageframe1.page1.combo5.value
n=thisform.pageframe1.page2.edit1.value
iflen(a)=0
messageb('输入的学号不能为空!')
thisform.pageframe1.page1.text1.setfocus
else
iflen(b)=0
messageb('输入的姓名不能为空!')
thisform.pageframe1.page1.text2.setfocus
else
iflen(c)=0
messageb('输入的籍贯不能为空!')
else
thisform.pageframe1.page1.text3.setfocus
iflen(d)=0
messageb('输入的民族不能为空!')
thisform.pageframe1.page1.text4.setfocus
else
iflen(l)=0
messageb('输入的性别不能为空!')
thisform.pageframe1.page1.combo4.setfocus
else
iflen(f)=0
messageb('输入的政治面目不能为空!')
thisform.pageframe1.page1.combo1.setfocus
else
iflen(h)=0
messageb('输入的系代号不能为空!')
thisform.pageframe1.page1.combo3.setfocus
else
iflen(g)=0
messageb('输入的专业代号不能为空!')
thisform.pageframe1.page1.combo2.setfocus
else
iflen(m)=0
messageb('输入的班级代号不能为空!')
thisform.pageframe1.page1.combo5.setfocus
else
iflen(e)=0
messageb('输入的出生日期不能为空!')
thisform.pageframe1.page1.text5.setfocus
else
insertintod:\学生学籍管理信息系统\data\xs(xh,xm,xb,csrq,jg,mz,zzma,bz,xdh,zydh,bjdh)values(a,b,l,ctod(e),c,d,f,n,h,g,m)
thisform.pageframe1.page1.text1.value=""
thisform.pageframe1.page1.text2.value=""
thisform.pageframe1.page1.text3.value=""
thisform.pageframe1.page1.text4.value=""
thisform.pageframe1.page1.text5.value=""
thisform.pageframe1.page2.edit1.value=""
thisform.pageframe1.page1.combo1.value=""
thisform.pageframe1.page1.combo2.value=""
thisform.pageframe1.page1.combo3.value=""
thisform.pageframe1.page1.combo4.value=""
thisform.pageframe1.page1.combo5.value=""
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
3.课程信息编辑界面表单中的命令按钮组类(mytool)中的click的事件中程序代码如下:x=this.value
docase
casex=1
gotop
this.command1.enabled=.f.
this.command2.enabled=.f.
this.command3.enabled=.t.
this.command4.enabled=.t.
casex=2
this.command3.enabled=.t.
this.command4.enabled=.t.
ifnotbof()
skip-1
ifrecno()=1
this.command1.enabled=.f.
this.command2.enabled=.f.
endif
endif
casex=3
this.command1.enabled=.t.
this.command2.enabled=.t.
ifnoteof()
skip
ifrecno()=reccount()
this.command3.enabled=.f.
this.command4.enabled=.f.
endif
endif
casex=4
gobottom
this.command1.enabled=.t.
this.command2.enabled=.t.
this.command3.enabled=.f.
this.command4.enabled=.f.
casex=5
delete
n=messagebox("真的要删除该记录吗?",1+32,"删除")
ifn=1
pack
else
recall
endif
casex=1
gotop
this.command1.enabled=.f.
this.command2.enabled=.f.
this.command3.enabled=.t.
this.command4.enabled=.t.
casex=6
closedatabase
thisform.release
endcase
thisform.refresh
5.学生成绩查询界面中确定命令按钮的click事件中程序代码如下:
docase
casethisform.combo1.value="学号"
a=allt(thisform.text1.value)
thisform.grid1.records
上一篇:
VFP学生档案管理(论文和程序)
下一篇:
7*30m公路预应力混凝土连续梁桥上部结构设计