数据库课程设计内容及感想_数据库课程设计感想

2020-02-26 其他范文 下载本文

数据库课程设计内容及感想由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据库课程设计感想”。

数据库课程设计内容及感想(完结)

这次数据库课程设计用的是Microsoft Visual FoxPro 6.0 ,而我们平时用的Microsoft SQL Server 2000,虽然对VFP完全陌生,但在老师的指引下,我们近乎完美的完成了课程设计。当然过程是艰辛的。

面对着完全陌生的操作环境VFP,许多同学开始埋怨,要求用SQL,用我们学过的ASP等来完成设计。但我们慢慢发现用VFP做课程设计其实很有优势,于是它的这个优势激发了我们去了解它的欲望。老师先将VFP中基本的建数据库,建表以及建表单等向我们演示了一遍,我们也仿照着做了,发觉并不是很难。但想到这次课程设计做的是一套学生学籍和成绩管理系统,我们又开始茫然了。那天,老师给我们看了一段可以让文字循环移动的代码,这使我们产生了好奇心理,有了快速了解它的冲动。因为用面向对象的语言做特效,这还是第一次。下课之后我把那段我们不了解的语言写的特效代码发到了VFP论坛上请人帮忙解释,最后我们完全理解了那段代码的意思。

代码如下:

a=ThisForm.label1.Caption&&获得标签1的字符

key=0&&定义数值变量

DO WHILE KEY!=32&&语句循环,直至按下空格(=32)键

al=substr(a,1,2)&&分离出字符变量a中的前两个字符 a=Alltrim(substr(a,3))+al&&去掉首尾空格

ThisForm.label1.caption=a&&将移动后的字符变量重新赋值给标签1将移动后的字符变量重新赋值给标签1

key=inkey(0.5,'H')&&接收键盘输入,0.5表示等待0.5秒,H表示隐藏光标

ThisForm.Refresh&&表单刷新

ENDDO

ThisForm.release&&表单释放

接下来的路并不好走,因为还有很多代码要写,而写这代码的语言以前又没有接触过。习惯了用百度、用Google的我们,只得寻找网络资源了,可是网上并没有和我们一模一样的课程设计源码。我最后找到了和这次课程设计类似的系统的源码,可恶的是,别人做的系统设置有密码,我要看它的效果必须先破译出这套系统的密码,我好不容易找到了密码,却发现更大的未知领域。还好老师后来提示了我和另一个同学一些代码中用到的函数和语句,课后我分析了别人的代码,和班上那位同学一起探索一起尝试,终于成功的完成了“删除”、“修改”、“保存”按钮的代码。

“删除”按钮代码如下:

Delete&&标记当前行,为删除做准备

scyesno=meagebox(“真的要删除吗?”,4+32,“确认”)&&确认窗口

if scyesno=6&&如果确认

USE学生信息 EXCLUSIVE

Pack&&删除

meagebox(“删除成功!”,64,“提示窗口”)&&提示窗口

thisform.refresh&&刷新

else

meagebox(“未删除!”,64,“提示窗口”)&&提示窗口

endif

“修改” 按钮代码:

dimension a(8)&&定义数组

a(1)=thisform.text1.value

a(2)=thisform.text2.value

a(3)=thisform.text3.value

a(4)=thisform.text4.value

a(5)=thisform.text5.value

a(6)=thisform.Optiongroup1.value

a(7)=thisform.check1.value

a(8)=thisform.edit1.value

replace 学生信息.学号 with a(1)&&替换,下同

replace 学生信息.姓名 with a(2)

replace 学生信息.性别 with a(6)

replace 学生信息.出生日期 with a(3)

replace 学生信息.专业 with a(4)

replace 学生信息.入学成绩 with a(5)

replace 学生信息.团员 with a(7)

replace 学生信息.简介 with a(8)

thisform.refresh&&刷新

“保存”按钮的代码:

dimension a(8)

a(1)=thisform.text1.value

a(2)=thisform.text2.value

a(3)=thisform.text3.value

a(4)=thisform.text4.value

a(5)=thisform.text5.value

a(6)=thisform.Optiongroup1.value

a(7)=thisform.Check1.value

a(8)=thisform.edit1.value

replace 学生信息.学号 with a(1)

meagebox(“保存成功!”,64,“提示窗口”)

当然,老师了解了我们的情况后,向我们讲解了几个简单的代码:

“退出”按钮的代码:

thisform.release

“上一步”按钮的代码:

skip-1

if bof()

go top

endif

thisform.refresh

“下一步”按钮的代码:

skip

if eof()

go bottom

endif

thisform.refresh

“添加”按钮的代码:

append blank

thisform.text1.setfocus

thisform.text2.setfocus

thisform.text3.setfocus

thisform.text4.setfocus

thisform.text5.setfocus

thisform.edit1.setfocus

thisform.refresh

上面的代码,后来我们在是否只读方面做过改进,这里就不一一列举。用到的语句是:

thisform.check1.readonly=.t.&&复选框只读

thisform.check1.readonly=.f.&&复选框非只读

成绩表单的代码和上面学籍表单的类似,这里也不列举了。

需要提醒的是,要想在表单中的文本框、编辑框、复选框、ActiveX绑定控件框等里显示对应表里内容,必须在它们“属性”的ControlSource中填对应内容,例如在表单的ActiveX绑定控件框中显示照片,就得把ActiveX绑定控件框的“属性”里的ControlSource内容改为“学生信息.照片”,其他类推。建表单这里就就不再熬述了。

建完表单,接下来是制作报表。建好新报表,首先是添加你要显示的表,例如下面制作的是学生学籍报表,可以通过点右键“数据环境”,再通过在数据环境中点右键,点“添加”选择学生信息表来添加。

这次做的报表涉及到分组,我们做的是按“性别”分组,那么在报表中点右

键里的“数据分组”,在弹出的窗口里的“分组表达式”里填入“学生信息.性别”。

然后再通过在“数据环境设计器”里的学生信息表上点右键,将“属性”里的Order的内容改为“性别”即可。分组的前提是将学生学籍表里的性别设置为“普通索引”。

报表的基本作用是显示表里的信息,另外加上一些统计、计算和页面美化等。例如要显示学号,首先要通过“报表控件”建一个“域控件”选定此“域控件”右键点属性在“表达式”里填如“学生信息.学号”(如下图)。

要统计男、女人数同样要通过“报表控件”建一个“域控件”选定此“域控件”右键点属性在“表达式”里填如“学生信息.学号”。再点“计算”在“计算字段”里的“计算”里选“计数”(如下图)。

下面是这次建的报表之一,处在编辑状态下。报表的美化这里就不再作说明了。

下面讲一下,表单跳转,报表预览命令:

表单跳转命令:

DO FORM E:计科(2)20学生学籍表单.scx

上面的命令是:跳转到学生学籍表单,这里的“E:计科(2)20学生学籍表单.scx”可以直接写成“学生学籍表单”,前提是你把默认路径改为E:计科(2)20了。

报表预览命令:

report form 学生学籍报表.frx preview

上面的命令是:跳转到学生学籍报表的预览状态。

另外就是建菜单以及菜单的使用了,这里要特别说明.mpr菜单是如何得来的。在建完菜单以后,我们要用到“do 菜单名.mpr”命令来显示我们事先建好的菜单,但我们会发现,建完菜单之后,只有两个菜单文件,其中并没有扩展名为.mpr的菜单文件。其实,另两个菜单文件是点运行之后生成的(当然.mpr的菜单就包括在里面),如下图所示:

完成上面的工作就得开始写主控程序了,我们用到的是修改了别人的程序并

且融入了自己内容的:

set talk off&&关闭对话模式

set safe off

set stat off

set dele on&&不处理已删除的记录

set cent on

set date to ansi

close all

RELEASE WINDOW 常用&&关闭常用工具栏

if mod(day(date()),2)=0&&偶数日期

_SCREEN.backcolor=rgb(80,222,180)&&窗口背景颜色

MODIFY WINDOW SCREEN TITLE “ 学生学籍和成绩管理系统 ver1.0;

XX大学;05计科(2)XXX今天是:”+dtoc(date())+“”+cdow(date())

else&&奇数日期

_SCREEN.backcolor=rgb(80,150,180)&&窗口背景颜色

MODIFY WINDOW SCREEN TITLE “ 学生学籍和成绩管理系统 ver1.0;

软件编制者:计科(2)XXX今天是:”+dtoc(date())+“”+cdow(date())

endif

ZOOM WINDOW SCREEN MAX&&主窗口最大化

_SCREEN.controlbox=.t.&&去掉主窗口控制按钮

deactivate window “项目管理器”&&关闭项目管理器

mypath=left(sys(16),rat(“”,sys(16)))&&确定程序所在的位置

set defa to(mypath)&&设置当前路径

set path to data;form;pic;prog&&指明路径

open database 学生成绩&&打开数据库

do form 表单1&&运行表单1

do 菜单.mpr

read events

quit

完成上面所有的工作之后就只剩下“连编”这一步了。如下图所示,点击“连编”进入下一个界面。

依次连编“操作”中的四项,当然“选项”中相应的有必要打勾的,在点确定前要先打勾。

感想:

这次课程设计我们克服了炎热的天气(学校机房之前没装空调„„后来设计完才装„„),也克服对新知识的恐惧感以及畏难情绪。我们懂得了团队合作的重要性,也懂得了团队中如何交流、如何分工,如何集体讨论难点。我们充分利用了网络资源(技术论坛,共享的实例等)。

我们喜欢这次课程设计的感觉,喜欢编程,喜欢团队交流。

(之前挂在学校论坛的截图由于学校论坛的更新而丢失,后来重新整理到博客相册了。)

《数据库课程设计内容及感想.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
数据库课程设计内容及感想
点击下载文档
相关专题 数据库课程设计感想 感想 课程设计 数据库 数据库课程设计感想 感想 课程设计 数据库
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文