《高级程序设计》课程设计报告.docx

上传人:b****8 文档编号:11387261 上传时间:2023-02-28 格式:DOCX 页数:15 大小:370.23KB
下载 相关 举报
《高级程序设计》课程设计报告.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

《高级程序设计》课程设计报告

《高级程序设计》课程设计报告

本课程设计报告包括一下几个部分:

一:

课程设计目的

二:

课程设计要求

三:

软件功能分析

四:

数据库设计用到的主要的代码

五:

程序的设计用到的主要的存储过程

六:

程序的设计用到的主要的代码

七:

课程设计的心得体会

一:

课程设计目的

通过课程设计使本学期学习的知识掌握的更加的牢固,并且能熟练的应用自己在过去的一年当中学习过的VISUALBASIC6.0和SQLSERVER2000数据库管理与开发的知识进行实际当中的项目的开发,进一步的掌握可视化数据库编程的基本思想和方法。

在实践当中更加的灵活的运用所学知识。

锻炼自己的分析问题,解决问题的能力,为将来自己能够开发大型的软件奠定基础。

二:

课程设计要求

1:

上机前做好充分准备,包括程序模块图,程序界面方式,源程序清单,调试步骤,测试方法,运行结果的分析等。

2:

课程设计具体要求如下:

(1)设计说明:

用来说明程序模块功能、结构、主要包括程序名、功能、原理计算说明,主要用于符号说明。

(2)调试说明:

便于学生总结经验,提高编程及调试能力,包括调试情况,如对数据库操作时遇到的问题及解决方法,对程序设计技巧的总结及分析等。

对运行结果的分析、课程设计心得体会等。

(3)使用说明:

程序提供给用户时必须做出的说明,使用方法、操作步骤等。

三:

软件功能分析

为了提高对学生档案的管理,设计合理有效的学生档案管理系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少不必要的时间和人力等方面的工作量。

系统开发的总体任务是使学生档案当中的各个表更加的规范,更加的系统,更加的条理清楚。

本次课程设计所要求达到的功能分析具体如下:

1:

学籍的各项基本的信息的输入,如学生的高考用的考试号,在学校的所在的班级,所学的基本的课程信息,考试成绩等。

2:

学生的基本的信息的查询,如学生的学号,姓名,班级,所属的专业,学习的基本的课程,学生的考试成绩。

3:

学生信息的修改。

4:

学校的专业和所对应课程的输入。

5:

学校的专业和所对应课程的查询。

6:

学校的专业和所对应课程的修改。

7:

对不同的用户的权限的设置使不同的用户能实现不同的功能,进行在系统管理员所赋予的权限的范围内进行操作。

8:

报表统计模块:

实现数据的统计、打印等功能。

四:

数据库设计用到的主要的代码

--创建数据库

usemaster

ifexists(selectnamefromsysdatabaseswherename='学生档案管理')

dropdatabase学生档案管理

createdatabase学生档案管理

onprimary

(name=studentgl,

filename='d:

\学生档案管理\student_gl.mdf',

size=1,

maxsize=10,

filegrowth=10%)

logon

(name=studenlog,

filename='d:

\学生档案管理\student_log.ldf',

size=1,

maxsize=10,

filegrowth=10%)

--创建用户表

go

use学生档案管理

ifexists(selectnamefromsysobjectswherename='用户表'andtype='U')

droptable用户表

createtable用户表

(用户名varchar(20)notnull,

密码varchar(20),

级别varchar(5)notnulldefault1)

--插入一个数据记录

insert用户表values('系统管理员','0','0')

use学生档案管理

--创建数据表

ifexists(selectnamefromsysobjectswherename='数据表'andtype='U')

droptable数据表

createtable数据表

(学号varchar(20)notnull,

姓名varchar(20)notnull,

班级varchar(20)notnull,

性别varchar(5)notnull,

出生日期datetimenotnull,

政治面貌varchar(5)null,

专业名称varchar(20)null,

家庭地址varchar(20)null)

--创建成绩表

ifexists(selectnamefromsysobjectswherename='成绩表'andtype='U')

droptable成绩表

createtable成绩表

(学号varchar(20)notnull,

姓名varchar(20)notnull,

班级varchar(20)notnull,

专业名称varchar(20)notnull,

科目名称varchar(20)null,

成绩intnull)

--创建班级表

ifexists(selectnamefromsysobjectswherename='班级表'andtype='U')

droptable班级表

createtable班级表

(班级名称varchar(20)notnull,

专业名称varchar(20)notnull)

--创建科目表

ifexists(selectnamefromsysobjectswherename='科目表'andtype='U')

droptable科目表

createtable科目表

(科目名称varchar(20)notnull,

专业名称varchar(20)notnull)

--创建专业表

ifexists(selectnamefromsysobjectswherename='专业表'andtype='U')

droptable专业表

createtable专业表

(专业名称varchar(20)notnull)

五:

程序的设计用到的主要的存储过程

use学生档案管理

--按学号和姓名查询

ifexists(selectnamefromsysobjectswherename='numnameselect'andtype='p')

dropprocedurenumnameselect

go

createprocedurenumnameselect@numasvarchar(20),@nameasvarchar(20)

as

ifexists(selectnamefromsysobjectswherename='查询_1'andtype='U')

droptable查询_1

select*into查询_1from数据表where@numin(学号,'')and@namein(姓名,'')

go

--按综合条件查询

ifexists(selectnamefromsysobjectswherename='zongheselect'andtype='p')

dropprocedurezongheselect

go

createprocedurezongheselect@nameasvarchar(20),@sexasvarchar(20),@zhuanyeasvarchar(20),@banjiasvarchar(20)

as

ifexists(selectnamefromsysobjectswherename='查询_2'andtype='U')

droptable查询_2

select*into查询_2from数据表where@namein(姓名,'')and@banjiin(班级,'')and@zhuanyein(专业名称,'')and@sexin(性别,'')

go

--按姓名和班级查询

ifexists(selectnamefromsysobjectswherename='namebanjicx'andtype='p')

dropprocedurenamebanjicx

go

createprocedurenamebanjicx@nameasvarchar(20),@banjiasvarchar(20)

as

ifexists(selectnamefromsysobjectswherename='查询_8'andtype='U')

droptable查询_8

select*into查询_8from成绩表where@namein(姓名,'')and@banjiin(班级,'')

go

--成绩范围查询

ifexists(selectnamefromsysobjectswherename='fanweicx'andtype='p')

dropprocedurefanweicx

go

createprocedurefanweicx@kemuasvarchar(20),@banjiasvarchar(20),@beginscoreasint,@endscoreasint

as

ifexists(selectnamefromsysobjectswherename='查询_9'andtype='U')

droptable查询_9

select*into查询_9from成绩表where@kemuin(科目名称,'')and@banjiin(班级,'')and成绩>=@beginscoreand成绩<=@endscore

go

--printscore窗体的存储过程

ifexists(selectnamefromsysobjectswherename='fanweiprint'andtype='p')

dropprocedurefanweiprint

go

createprocedurefanweiprint@kemuasvarchar(20),@banjiasvarchar(20),@beginscoreasint,@endscoreasint

as

ifexists(selectnamefromsysobjectswherename='查询_10'andtype='U')

droptable查询_10

select*into查询_10from成绩表where@kemu=科目名称and@banji=班级and成绩>=@beginscoreand成绩<=@endscore

go

六:

程序的设计用到的主要的代码

软件的主窗体:

登陆窗体及其主要的代码:

ConstmaxlogintimesAsInteger=3

DimconnAsADODB.Connection

DimrsAsADODB.Recordset

PrivateSubcmdok_Click()

DimstrSQlAsString

DimstrDSNAsString

StaticintlogintimesAsSingle

'登陆的最大的次数

intlogintimes=intlogintimes+1

strSQl="select*from用户表"

strDSN="PROVIDER=MSDASQL;driver={SQLServer};server=(local);uid=;pwd=;database=学生档案管理;"

IfCombo1.Text=""Then

MsgBox"用户名不能为空,请输入用户名!

",vbOKOnly+vbCritical,"信息提示"

ExitSub

EndIf

'****************连接数据库并且返回值********************

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

conn.CursorLocation=adUseClient

conn.OpenstrDSN

'adOpenStatic使用静态的游标打开记录集

'adLockPessimistic指定在编辑一个记录的时候立即锁定它

rs.OpenstrSQl,conn,adOpenStatic,adLockPessimistic

rs.MoveFirst

rs.Find"用户名='"&Combo1.Text&"'"

IfTrim(Text2.Text)<>Trim(rs.Fields("密码"))Then

Ifintlogintimes>3Then

MsgBox"你已经超过了允许的登录验证次数!

"&vbCr&"应用程序将结束",vbCritical,"登录验证"

End

EndIf

MsgBox"用户密码不对,请重新输入!

",vbOKOnly+vbCritical,"信息提示"

Text2.SetFocus

Else

username=Combo1.Text

userpassword=Text2.Text

userjibie=Trim(rs.Fields("级别"))

MsgBox"欢迎使用学生档案管理系统",vbOKOnly+vbInformation,"登录成功!

"

UnloadMe

sysmain.Show

EndIf

EndSub

PrivateSubcmdquit_Click()UnloadMe

EndSub

PrivateSubForm_Load()

DimstrSQlAsString

DimstrDSNAsString

Combo1.Text=""

strSQl="select用户名from用户表"

strDSN="PROVIDER=MSDASQL;driver={SQLServer};server=(local);uid=;pwd=;database=学生档案管理;"

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

conn.CursorLocation=adUseClient

conn.OpenstrDSN

rs.OpenstrSQl,conn,adOpenStatic,adLockOptimistic

Ifrs.RecordCount>0Then

rs.MoveFirst

WhileNotrs.EOF

Combo1.AddItem(rs.Fields("用户名"))

rs.MoveNext

Wend

EndIf

Setrs=Nothing

Setconn=Nothing

EndSub

在数据库编程的编程中,查询是非常重要的。

如:

DimconnAsADODB.Connection

Dimconn_zhuanyeAsADODB.Connection

Dimconn_banjiAsADODB.Connection

DimrsAsADODB.Recordset

Dimrs_zhuanyeAsADODB.Recordset

Dimrs_banjiAsADODB.Recordset

PrivateSubCommand1_Click()

DimstrDSNAsString

strDSN="PROVIDER=MSDASQL;driver={SQLServer};server=(local);uid=;pwd=;database=学生档案管理;"

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

conn.CursorLocation=adUseClient

conn.OpenstrDSN

rs.Open"zongheselect('"&Text1.Text&"','"&Combo1.Text&"','"&Combo3.Text&"','"&Combo2.Text&"')",conn,adOpenStatic,adLockOptimistic

rs.Open"select*from查询_2",conn,adOpenStatic,adLockOptimistic

Ifrs.RecordCount=0Then

MsgBox"表中不存在满足条件的记录,请重新输入条件!

",vbOKOnly+vbCritical,"信息提示"

dataselect.Show

EndIf

SetDataGrid1.DataSource=rs

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

数据库的数据的备份和还原在数据库的操作中是非常重要的。

如:

PrivateSubCommand1_Click()

DimstrDSNAsString

DimconnAsADODB.Connection

Setconn=NewADODB.Connection

DimrsAsADODB.Recordset

Setrs=NewADODB.Recordset

strDSN="PROVIDER=MSDASQL;driver={SQLServer};server=(local);uid=;pwd=;database=学生档案管理;"

conn.ConnectionString=strDSN

conn.CursorLocation=adUseClient

conn.Open

OnErrorGoTonext1

IfInStr(1,Text2.Text,".bak")=0Then

Text2.Text=Trim(Text2.Text)&".bak"

EndIf

str1="backupdatabase学生档案管理todisk='"&Trim(Text1.Text)&"\"&Trim(Text2.Text)&"'withinit"

conn.Executestr1

MsgBox"数据备份成功!

",vbOKOnly+vbInformation

UnloadMe

ExitSub

next1:

MsgBoxErr.Description,vbOKOnly+vbCritical,"操作失败"

Setconn=Nothing

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubDir1_Change()

Text1.Text=Dir1.Path

File1.Path=Dir1.Path

Text2.Text=""

EndSub

PrivateSubDrive1_Change()

Dir1.Path=Drive1.Drive

Text1.Text=Drive1.Drive

Text2.Text=""

EndSub

PrivateSubFile1_Click()

Text2.Text=File1.FileName

EndSub

PrivateSubForm_Load()

Dir1.Path=App.Path

Drive1.Drive=App.Path

Me.Top=0

Me.Left=0

EndSub

七:

课程设计的心得体会

(一):

通过为期一周的课程设计,对本学习的高级程序设计有了更加深刻的体会,也使自己的信心有了非常大的提高,在实践当中更加牢固的掌握了VISUALBASIC6.0和SQLSERVER2000。

(二):

这次课程设计也存在非常多的不足和缺陷。

由于在学期刚开始的时候,在建立数据库的时候在表的结构上的设计的失误,使自己的软件在编写中遇到了意想不到的困难,前期的准备工作没有做好,导致了不必要的麻烦!

(三):

缺点:

由于时间非常的紧张,有许多原来的想法没有实现,非常的可惜,例如,原来打算把查询出的数据进行图标形式的展示,使学生的分数段的显示能更加的明了,成绩的汇总统计的,各个分数段的汇总统计,等等。

非常多的以前设想的功能都泡汤了,留下了不小的遗憾,计划在寒假时完成其余的工作,使自己的软件的功能更加的强大实用,运行的更加可靠。

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

当前位置:首页 > 小学教育 > 数学

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

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