oracle设计报告.docx

上传人:b****2 文档编号:23121525 上传时间:2023-05-08 格式:DOCX 页数:24 大小:291.71KB
下载 相关 举报
oracle设计报告.docx_第1页
第1页 / 共24页
oracle设计报告.docx_第2页
第2页 / 共24页
oracle设计报告.docx_第3页
第3页 / 共24页
oracle设计报告.docx_第4页
第4页 / 共24页
oracle设计报告.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

oracle设计报告.docx

《oracle设计报告.docx》由会员分享,可在线阅读,更多相关《oracle设计报告.docx(24页珍藏版)》请在冰豆网上搜索。

oracle设计报告.docx

oracle设计报告

贵州师范大学职业技术学院

O

R

A

C

L

E

题目:

VB/ORACLE学生成绩管理系统

姓名:

杨茂科

班级:

08计应

指导老师:

赵进宏老师

实习地点:

实验楼一机房

实习时间:

2010年12月20日——2010年12月31日

前言

Oracle是目前最流行的关系型数据库管理系统,广泛应用于管理信息系统、企业数据处理、Internet、电子商务网站等领域。

此前流行的版本为Oracle9i。

Oracle公司在Oracle的基础上,推出了代表数据库最新技术的数据库系统Oracle10g。

本次Oracle数据库设计报告分为四章:

第一章:

主要内容包括我们做VB/ORACLE学生成绩管理系统的主要功能介绍,在vb运行情况下各个功能界面的介绍。

第二章:

主要内容有VB/ORACLE学生成绩管理系统中数据库的设计。

该数据库主要是用DBCA向导来完成创建,该部分包括各个创建界面的截图,方面读者进行阅读;该数据库中关系表的建立主要是通过登录SQLPlus,运用创建表的代码进行数据库中关联三张表的创建,该部分在报告中有详细的代码与注释;VB/ORACLE学生成绩管理系统中最主要的部分为数据源的创建也在该章进行详细的说明。

第三章:

主要内容是VB/ORACLE学生成绩管理系统的主要代码。

包括系统各个功能界面的运行代码,保证系统的完整性。

第四章:

内容为在完成这次VB/ORACLE学生成绩管理系统设计中的总结。

我相信通过这次的VB/ORACLE学生成绩管理系统设计报告是书写,让没有学过Oracle的读者也能很好的理解这当中的关系,让学过的读者就能够很好并且很容易的读懂该报告。

可读性与完整性是设计报告的关键,希望这篇报告能够让读者可读。

目录

第一章系统简介1

一功能简介1

二功能界面1

1、主界面:

1

2、学生信息查询界面1

3、学生信息修改2

4、学生成绩录入2

第二章数据库设计3

一创建数据库3

二创建表5

1、学生表的创建5

2、课程表创建5

3、选课关系表创建6

三数据源创建6

第三章VB设计7

一、建立连接字符串7

二、模板代码7

三、主界面功能代码8

四、学生信息查询功能代码10

五、学生选课信息界面代码11

六、学生创建录入功能代码11

第四章总结16

附录17

第一章系统简介

一功能简介

用VB实现简单的学生成绩管理系统,使用可视化ADODC控件和ADODB对象访问后台oracle数据库服务器。

系统包含学生信息的查询;学生信息的录入、修改、删除;学生成绩的录入、修改、删除等功能。

二功能界面

1、主界面:

系统功能的导航作用,单击个功能按钮进入相应的操作界面。

如图1-1所示:

图1-1主界面

2、学生信息查询界面

可以满足简单条件的查询,在查询的结果中选择一行,双击可以查看该学生的具体选课信息

如图1-2、1-3所示:

图1-2学生信息查询界面

图1-3学生选课成绩情况界面

3、学生信息修改

完成学生信息的增加、删除、修改等操作如图1-4所示:

图1-4学生信息修改界面

4、学生成绩录入

完成各专业同学成绩的录入如图1-5所示:

图1-5学生成绩录入界面

第二章数据库设计

一创建数据库

利用oracle的数据库管理助手(DBCA)向导来完成名为yangmaoke数据库的创建

如图2-1所示:

图2-1数据库标识

 

利用oracle的数据库管理助手(DBCA)向导来完成密码为123的数据库身份验证

如图2-2所示:

图2-2数据库身份验证

数据库完成状态如图2-3、2-4所示:

图2-3数据库创建完成状态

 

图2-4数据库创建完成

二创建表

通过以system的身份登录oracle的数据库的SQLplus进行数据库实例yangmaoke中表的创建

如图2-5所示:

图2-5登录数据库实例yangmaoke

1、学生表的创建

在SQLplus中执行以下代码完成学生表的创建:

createtables(

XHvarchar2(12)primarykey,--学号

XMchar(8)notnull,--姓名

XBchar

(2)null,--性别

CSRQdatenull,--出生日期

ZYMvarchar2(20)null,--专业名

ZXFchar(3)null,--总学分

BZvarchar2(200)null--备注

);

在学生表中插入两条记录代码如下:

insertintos(XH,XM,XB,CSRQ,ZYM,ZXF,BZ)

values('082113010053','杨茂科','男',to_date('1989-01-02','yyyy-mm-dd'),'计算机应用技术','54','三好学生');

insertintos(XH,XM,XB,CSRQ,ZYM,ZXF,BZ)

values('082113010054','万波','男',to_date('1989-02-05','yyyy-mm-dd'),'通信','54','三好学生');

2、课程表创建

在SQLplus中执行以下代码完成课程表的创建:

createtablec(

KCHchar(3)primarykey,--课程号

KCMchar(16)notnull,--课程名

KKXQNumber

(1)notnull,--开课学期

XSNumber

(2)default1notnull,--学时

XFNumber

(1)null--学分

);

在课程表中插入两条记录代码如下:

insertintoc(KCH,KCM,KKXQ,XS,XF)

values('01','计算机基础',1,80,5);

insertintoc(KCH,KCM,KKXQ,XS,XF)

values('02','程序设计语言',2,68,4);

3、选课关系表创建

在SQLplus中执行以下代码完成选课关系表的创建:

createtables_c(

XHvarchar2(12)notnull,--学号

KCHchar(3)notnull,--课程号

CJNumber

(2)null,--成绩

XFNumber

(1)null--学分

);

在选课关系表中插入两条记录代码如下:

insertintos_c(XH,KCH,CJ,XF)

values('082113010053','01',80,3);

insertintos_c(XH,KCH,CJ,XF)

values('082113010054','02',78,3);

三数据源创建

在电脑的开始——控制面板——管理工具——数据源——系统DSN为数据库实例添加一个名为ymk的数据源如图2-6所示:

图2-6建立数据源

第三章VB设计

一、建立连接字符串

如图3-1所示:

图3-1数据链接属性设置

二、模板代码

PublicconnAsNewADODB.Connection

PublicrecoAsNewADODB.Recordset

PublicRsAsNewADODB.Recordset

PublicstrAsString

PublicSubMain()

Frm_main.Show

EndSub

PublicSubOpenDB()

Ifconn.State=1Then

conn.Close

EndIf

conn.Open"Provider=MSDAORA.1;Password=123;UserID=system;

DataSource=yangmaok;PersistSecurityInfo=True"

EndSub

PublicSubClose_Reco()

Ifreco.State=1Then

reco.Close

EndIf

EndSub

三、主界面功能代码

DimSqlStrAsString

PublicSubMakeSqlStr()

SqlStr=""

IfTrim(Txt_xh.Text)<>""Then

SqlStr="XHlike'%"+Trim(Txt_xh.Text)+"%"&"'"

EndIf

IfTrim(Txt_xm.Text)<>""AndSqlStr<>""Then

SqlStr=SqlStr+"andXMlike'%"+Trim(Txt_xm.Text)+"%"&"'"

Else

IfTrim(Txt_xm.Text)<>""Then

SqlStr=SqlStr+"XMlike'%"+Trim(Txt_xm.Text)+"%"&"'"

EndIf:

EndIf

IfTrim(Combo_zy.Text)<>"所有专业"AndSqlStr<>""Then

SqlStr=SqlStr+"andZYMlike'%"+Trim(Combo_zy.Text)+"%"&"'"

Else

IfTrim(Combo_zy.Text)<>"所有专业"Then

SqlStr=SqlStr+"ZYMlike'%"+Trim(Combo_zy.Text)+"%"&"'"

EndIf:

EndIf

EndSub

PrivateSubCmd_search_Click()

OnErrorResumeNext

MakeSqlStr

IfSqlStr<>""Then

Adodc1.RecordSource="select*fromswhere"&SqlStr

EndIf

Adodc1.Refresh

EndSub

PrivateSubCombo_zy_Click()

MakeSqlStr

Adodc1.RecordSource="select*fromswhere"&SqlStr&"andZYM='"+Trim(Combo_zy.Text)+"'"

Adodc1.Refresh

EndSub

PrivateSubDataGrid1_DblClick()

xkgx.Adodc1.RecordSource="select*froms,c,s_cwheres.XH=s_c.XHandc.KCH=s_c.KCHands.XH='"+Adodc1.Recordset("XH")+"'"

xkgx.Adodc1.Refresh

Me.Hide

xkgx.Show

EndSub

PrivateSubForm_Load()

OpenDB

reco.Open"selectdistinctZYMfroms",conn,1,3

DoWhileNotreco.EOF

Combo_zy.AddItem(reco("ZYM"))

reco.MoveNext

Loop

EndSub

PrivateSubForm_Unload(CancelAsInteger)

mainjm.Show

EndSub

四、学生信息查询功能代码

DimSqlStrAsString

PublicSubMakeSqlStr()

SqlStr=""

IfTrim(Txt_xh.Text)<>""Then

SqlStr="XHlike'%"+Trim(Txt_xh.Text)+"%"&"'"

EndIf

IfTrim(Txt_xm.Text)<>""AndSqlStr<>""Then

SqlStr=SqlStr+"andXMlike'%"+Trim(Txt_xm.Text)+"%"&"'"

Else

IfTrim(Txt_xm.Text)<>""Then

SqlStr=SqlStr+"XMlike'%"+Trim(Txt_xm.Text)+"%"&"'"

EndIf:

EndIf

IfTrim(Combo_zy.Text)<>"所有专业"AndSqlStr<>""Then

SqlStr=SqlStr+"andZYMlike'%"+Trim(Combo_zy.Text)+"%"&"'"

Else

IfTrim(Combo_zy.Text)<>"所有专业"Then

SqlStr=SqlStr+"ZYMlike'%"+Trim(Combo_zy.Text)+"%"&"'"

EndIf:

EndIf

EndSub

PrivateSubCmd_search_Click()

OnErrorResumeNext

MakeSqlStr

IfSqlStr<>""Then

Adodc1.RecordSource="select*fromswhere"&SqlStr

EndIf

Adodc1.Refresh

EndSub

PrivateSubCombo_zy_Click()

MakeSqlStr

Adodc1.RecordSource="select*fromswhere"&SqlStr&"andZYM='"+Trim(Combo_zy.Text)+"'"

Adodc1.Refresh

EndSub

PrivateSubDataGrid1_DblClick()

xkgx.Adodc1.RecordSource="select*froms,c,s_cwheres.XH=s_c.XHandc.KCH=s_c.KCHands.XH='"+Adodc1.Recordset("XH")+"'"

xkgx.Adodc1.Refresh

Me.Hide

xkgx.Show

EndSub

PrivateSubForm_Load()

OpenDB

reco.Open"selectdistinctZYMfroms",conn,1,3

DoWhileNotreco.EOF

Combo_zy.AddItem(reco("ZYM"))

reco.MoveNext

Loop

EndSub

PrivateSubForm_Unload(CancelAsInteger)

mainjm.Show

EndSub

五、学生选课信息界面代码

PrivateSubForm_Unload(CancelAsInteger)

chaxun.Show

EndSub

六、学生创建录入功能代码

PrivateSqlCmdAsNewADODB.Command

Dimaaa

PrivateSubComboKCM_Click()

DimStXH,StKCM

DimNKCH

Dimcount

count=0

Close_Reco

reco.Open"selectKCHfromcwhereKCM='"+Trim(ComboKCM.Text)+"'",conn,1,3

NKCH=reco("KCH")

aaa=NKCH

Close_Reco

reco.Open"selectcount(*)asSUMfroms_cwhereXH='"+Trim(ComboXH.Text)+"'andKCH='"+NKCH+"'",conn,1,3

count=reco("SUM")

Ifcount=0Then

Close_Reco

reco.Open"selectXH,XMfromswhereXH='"+Trim(ComboXH.Text)+"'",conn,1,3

Else

Close_Reco

reco.Open"selects.XH,s.XM,s_c.CJ,s_c.XFfroms,c,s_cwheres.XH='"+Trim(ComboXH.Text)+"'andc.KCH='"+NKCH+"'ands.XH=s_c.XHandc.KCH=s_c.KCH",conn,1,3

EndIf

ComboXH.Text=reco("XH")

WhileNotreco.EOF

Ifreco.Fields.count=2Then

TxtXM.Text=reco("XM")

TxtCJ.Text=""

TxtXF.Text=""

Else

TxtXM.Text=reco("XM")

TxtCJ.Text=reco("CJ")

TxtXF.Text=CStr(reco("XF")&"")

EndIf

reco.MoveNext

Wend

EndSub

PrivateSubComboXH_Click()

DimStXH,StKCM

DimNKCH

Dimcount

count=0

SqlCmd.CommandText="selectKCHfromcwhereKCM='"+Trim(ComboKCM.Text)+"'"

Setreco=SqlCmd.Execute

NKCH=reco("KCH")

SqlCmd.CommandText="selectcount(*)asSUMfroms_cwhereXH='"+Trim(ComboXH.Text)+"'andKCH='"+NKCH+"'"

Setreco=SqlCmd.Execute

count=reco("SUM")

Ifcount=0Then

SqlCmd.CommandText="selectXH,XMfromswhereXH='"+Trim(ComboXH.Text)+"'"

Else

SqlCmd.CommandText="selects.XH,s.XM,CJ,s_c.XFfroms,c,s_cwheres.XH='"+Trim(ComboXH.Text)+"'andc.KCH='"+NKCH+"'ands.XH=s_c.XHandc.KCH=s_c.KCH"

EndIf

Setreco=SqlCmd.Execute

WhileNotreco.EOF

Ifreco.Fields.count=2Then

TxtXM.Text=reco("XM")

TxtCJ.Text=""

TxtXF.Text=""

Else

TxtXM.Text=reco("XM")

TxtCJ.Text=reco("CJ")

TxtXF.Text=CStr(reco("XF"&""))

EndIf

reco.MoveNext

Wend

EndSub

PrivateSubComboZY_Click()

ComboXH.Clear

Close_Reco

reco.Open"select*fromswhereZYM='"+Trim(ComboZY.Text)+"'",conn,1,3

ComboXH.Text=reco("XH")

WhileNotreco.EOF

ComboXH.AddItem(Trim(reco("XH")))

reco.MoveNext

Wend

ComboXH_Click

EndSub

PrivateSubCommand1_Click()

DimStXH,StKCM,StCJ,StXF

IfTrim(TxtCJ.Text)=""OrTrim(TxtXF.Text)=""Then

MsgBox"输入完整的信息!

",,"提示:

"

ExitSub

EndIf

conn.Execute"insertintos_cvalues('"+Trim(ComboXH.Text)+"','"+aaa+"','"+Trim(TxtCJ.Text)+"','"+Trim(TxtXF.Text)+"')"

Adodc1.RecordSource="selects.XH,XM,ZYM,c.KCH,KCM,CJ,s_c.XFasXFfroms,c,s_cwheres.XH=s_c.XHandc.KCH=s_c.KCHorderbyXH"

Adodc1.Refresh

EndSub

PrivateSubCommand2_Click()

ret=MsgBox("是否要删除"+ComboXH.Text+"学号的"+Trim(ComboKCM.Text)+"课的成绩记录?

",vbYesNo,"提示:

")

Ifret=vbYesThen

conn.Execute"deletefroms_cwhereXH='"+ComboXH.Text+"'andKCH='"+aaa+"'"

Adodc1.RecordSource="selects.XH,XM,ZYM,c.KCH,KCM,CJ,s_c.XFasXFfroms,c,s_cwheres.XH=s_c.XHandc.KCH=s_c.KCHorderbyXH"

Adodc1.Refresh

MsgBox"删除成功!

",,"提示:

"

EndIf

EndSub

PrivateSubCommand3_Click()

UnloadMe

EndSub

PrivateSubDataGrid1_RowColChange(LastRowAs

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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