数据库原理与应用实践报告.docx

上传人:b****8 文档编号:10717242 上传时间:2023-02-22 格式:DOCX 页数:15 大小:80.73KB
下载 相关 举报
数据库原理与应用实践报告.docx_第1页
第1页 / 共15页
数据库原理与应用实践报告.docx_第2页
第2页 / 共15页
数据库原理与应用实践报告.docx_第3页
第3页 / 共15页
数据库原理与应用实践报告.docx_第4页
第4页 / 共15页
数据库原理与应用实践报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库原理与应用实践报告.docx

《数据库原理与应用实践报告.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用实践报告.docx(15页珍藏版)》请在冰豆网上搜索。

数据库原理与应用实践报告.docx

数据库原理与应用实践报告

数据库原理及应用

实践报告

1数据库功能描述

基本实现学生信息的管理,包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。

2数据库设计

2.1系统需求分析

通过设计一个简单学生成绩管理系统来方便成绩的管理,主要容是能够在学生表、教师表、班级表、课程表、成绩表等添加记录;能够查询到学生基本情况、全局情况(浏览表)、按学生查询、课程浏览、多项组合查询等功能;能够统计按个人统计成绩、按单科成绩统计成绩等;能够修改课程信息、学生信息、成绩信息等。

最后通过主表单或顶层表单的菜单等方法将各模块表单合理地连接,形成完整的系统。

整个系统中包含四个功能模块:

添加模块、查询模块、统计模块、修改模块。

2.2数据库逻辑结构设计

3数据库实施

3.1数据库架构图

3.2数据表生成脚本初始数据录入脚本

学生数据表如表1所示。

表1 学生数据表(student.dbf)

字段名

类型

宽度

索引

索引名

索引类型

索引表达式

学号

字符型

10

升序

学号

主索引

学号

字符型

8

性别

字符型

2

出生日期

日期型

8

班级

字符型

4

升序

班级

普通索引

班级

班级数据表如表2所示。

表2  班级数据表(classes.dbf)

字段名

类型

宽度

小数位

索引

索引名

索引类型

索引表达式

班级

字符型

4

升序

班级

主索引

班级

年级x

字符型

2

专业

字符型

10

系代码

字符型

1

学制

字符型

1

类型

字符型

4

教师数据表如表3所示。

表3 教师数据表(teacher.dbf)

字段名

类型

宽度

小数位

索引

索引名

索引

类型

索引

表达式

教师代码

字符型

6

升序

教师代码

主索引

教师代码

字符型

8

性别

字符型

2

出生日期

日期型

8

籍贯

字符型

6

技术职务

字符型

10

备注

备注型

4

课程数据表如表4示。

表4  课程数据表(course.dbf)

字段名

类型

宽度

小数位

索引

索引名

索引类型

索引表达式

课程代码

字符型

5

升序

课程代码

主索引

课程代码

课程名称

字符型

14

升序

课程名称

普通索引

课程名称

类别

字符型

4

教师代码

字符型

6

升序

教师代码

普通索引

教师代码

学习数据表如表5说示。

表5学习成绩数据表(score.dbf)

字段名

类型

宽度

小数位

索引

索引名

索引类型

索引表达式

学号

字符型

10

升序

学号

普通索引

学号

课程代码

字符型

5

升序

课程代码

普通索引

课程代码

成绩

数值型

4

1

升序

学号+课程

主索引

学号+课程代码

3.3初始录入脚本

4应用程序设计

表一:

登录

用户名和密码存放在数据表中,使用时不能连续输入错误3次的登录表单。

步骤为:

1、首先在项目管理器的界面中选择创建一个表单,命名为:

登陆.Scx

2、在空白表单界面上用常用工具绘制相应控件,属性如下图所示:

表单中对象的属性设置

 

对象名

属性

属性值

Form1

Caption

系统登录

Lable1

Caption

欢迎使用学生成绩管理系统

Lable2

Caption

用户名

Lable3

caption

密码

Command1

caption

登录

Command2

caption

重填

Command3

caption

退出

Combo1

RowSource

mm.yhm

Text1

passwordchar

*

其中需要在表单的数据环境中添加密码表。

密码表设有两个字段,YHM和MM。

3、为对象添加代码。

在form1的load 事件中添加

publicn

n=0

Command1的click事件

locateforalltrim(mm.yhm)==alltrim(bo1.value)

iffound()

ifalltrim(thisform.text1.value)==alltrim(mm.mm)

thisform.release

doform主控表单.scx

else

messagebox('你输入的密码不正确,请重新输入',48,'登录信息')

thisform.text1.value=''

n=n+1

ifn=3

messagebox('登录失败!

',16,'提示信息')

quit

endif

endif

else

messagebox('对不起,你不是合法用户')

endif

Command2的click事件

bo1.value=''

thisform.text1.value=''

Command3的click事件

answer=messagebox('确认退出吗?

',1+32+0,'确认退出')

ifanswer=1

thisform.release

quit

endif

表二:

以表单向导开发信息录入新表单。

按“新建”,弹出对话框,选择“表单向导”按钮。

选择第一种类型(单表表单),并点击“确定”按钮。

系统会打开相应的对话框,一步一步地向用户询问一些简单的问题,并根据用户的回答自己创建表单。

最后点击“完成”按钮出现保存表单的对话框。

最后运行一下表单。

表三:

1、首先在项目管理器的界面中选择创建一个表单,命名为:

修改.Scx

2、在空白表单界面上用常用工具绘制相应控件:

一个标签、一个页框(含有3页)、两个命令按钮。

其中学生页面上有一个Combo1,六个标签,五个文本框,课程页面上有一个Combo1,五个标签,四个文本框,成绩页面上有一个Combo1,四个标签,三个文本框。

为表单设置数据环境,为student.dbf、course.dbf、score.dbf 属性如下图所示:

表1 修改表单.scx中对象的属性设置

对象

属性

属性值

Form1

Caption

修改数据

Command1

caption

保存

Command2

caption

放弃

Page1

Caption

课程表

Page2

Caption

学生表

Page3

Caption

成绩表

表2page1中对象的属性设置

对象

属性

属性值

Combo1

rowsourcetype

6-字段

rowsource

student.学号

text1

controlsource

student.学号

Text2

controlsource

student.

Text3

controlsource

student.班级

Text4

controlsource

student.性别

Text5

controlsource

student.出生日期

表3Page2中对象的属性设置

对象

属性

属性值

Combo1

rowsourcetype

6-字段

rowsource

course.课程代码

text1

controlsource

course.课程代码

Text2

controlsource

course.课程名称

Text3

controlsource

course.类别

Text4

controlsource

course.教师代码

表4Page3中对象的属性设置

对象

属性

属性值

Combo1

rowsourcetype

6-字段

rowsource

score.学号

text1

controlsource

score.学号

Text2

controlsource

score.课程代码

Text3

controlsource

score.成绩

3、为对象添加代码。

 

combo1的interactivechange事件代码:

selestudent

this.parent.text1.value=学号

this.parent.text2.value=

this.parent.text3.value=班级

this.parent.text4.value=性别

this.parent.text5.value=出生日期

thisform.refresh

command1的click事件的代码:

a=MESSAGEBOX("确定修改?

")

ifa=1

selestudent

b=this.parent.text2.value

c=this.parent.text3.value

d=this.parent.text4.value

e=this.parent.text5.value

replacewithb

replace性别withd

replace出生日期withe

replace班级withc

MESSAGEBOX("记录修改成功!

")

Endif

page2中对象的事件设置:

combo1的interactivechange事件代码:

selecourse

this.parent.text1.value=课程代码

this.parent.text2.value=课程名称

this.parent.text3.value=类别

this.parent.text4.value=教师代码

thisform.refresh

command1的click事件的代码:

a=MESSAGEBOX("确定修改?

")

ifa=1

selecourse

b=this.parent.text2.value

c=this.parent.text3.value

d=this.parent.text4.value

replace课程名称withb

replace类别withc

replace教师代码withd

MESSAGEBOX("记录修改成功!

")

endif

page3中对象的事件设置:

combo1的interactivechange事件代码:

selescore

this.parent.text1.value=学号

this.parent.text2.value=课程代码

this.parent.text3.value=成绩

thisform.refresh

command1的click事件的代码:

a=messagebox("确定修改?

")

ifa=1

selescore

b=this.parent.text2.value

c=this.parent.text3.value

replace课程代码withb

replace成绩withc

messagebox("记录修改成功!

")

endif

5参考文献

[1]周玉萍,丽蓉,诚一.VisualFoxPro数据库应用教程[M].:

人民邮电,2008.

[2]王利.全国计算机等级考试二级教程VisualFoxPro程序设计[M].:

高等教育,2001.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1