课程设计题目选择系统Word文档下载推荐.docx

上传人:b****6 文档编号:16528469 上传时间:2022-11-24 格式:DOCX 页数:39 大小:1.73MB
下载 相关 举报
课程设计题目选择系统Word文档下载推荐.docx_第1页
第1页 / 共39页
课程设计题目选择系统Word文档下载推荐.docx_第2页
第2页 / 共39页
课程设计题目选择系统Word文档下载推荐.docx_第3页
第3页 / 共39页
课程设计题目选择系统Word文档下载推荐.docx_第4页
第4页 / 共39页
课程设计题目选择系统Word文档下载推荐.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

课程设计题目选择系统Word文档下载推荐.docx

《课程设计题目选择系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《课程设计题目选择系统Word文档下载推荐.docx(39页珍藏版)》请在冰豆网上搜索。

课程设计题目选择系统Word文档下载推荐.docx

可以增加其它功能或修饰。

✧用户界面中的菜单至少应包括“查阅单词”、“词典维护”、“退出”3项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课设结束后,上交课程设计说明书和源程序。

课程设计说明书的内容参见提供的模板。

四、指导教师和学生签字

指导教师:

徐晗学生签名:

涂键圣

五、成绩

六、教师评语

 

一.需求分析

二.设计分析

(1)基本原理:

使用Adodc控件和Adodb模型对数据库进行访问与修改,建立长须设计对access数据库进行读写修改,把信息显示在文本框、list等中

(2)总体设计:

(2)总体设计:

(3)详细设计:

三.关键技术

1ADO与ADODB

ADO(ACTIVEXDATAOBJECTS)是应用层的数据访问接口。

ADODB是一个数据模型,是封装ADO的VB数据控件,使用的是microsoft.jet.oledb.4.0的数据库引擎

2建立与数据库的连接代码如下

Publicmpath$,mlink$

PubliccnnAsNewADODB.Connection'

定义一个ADODB连接

PublicrstAsADODB.Recordset'

定义Recordset对象

Publiccnn2AsNewADODB.Connection'

Publicrst2AsADODB.Recordset'

PublicSQL$

ADODB

Setcnn=NewADODB.Connection

Setrst=NewADODB.Recordset

rst.CursorType=adOpenKeyset'

rst.LockType=adLockOptimistic'

mpath=App.Path

'

获取程序所在的路径

IfRight(mpath,1)<

>

"

\"

Thenmpath=mpath+"

判断是否为子目录

mlink="

Provider=Microsoft.Jet.OLEDB.4.0;

"

'

指定提供者

mlink=mlink+"

DataSource="

+mpath+"

DIC\db2.mdb"

在数据库文件名前插入路径

cnn.ConnectionString=mlink

cnn.ConnectionTimeout=30

cnn.Open

3程序详解

程序运行,出现主窗体,如图一所示

图1

Form2:

PrivateSubCommand1_Click()

Form2.Hide

Form1.Show

EndSub

点击command1,进入系统

PrivateSubCommand2_Click()

End

点击command2,结束程序

主窗体

图2

Form1:

Form1.Hide

FormXT.Show

FormCX.Show

点击command1按钮,进入选题窗体,如图3

点击command2按键,进入查询窗体,如图4

图4

PrivateSubForm_Load()

Form2.Show

系统运行时自动载入图1所示的窗体

图3

Formxt:

SQL="

SELECT*FROM学生WHERE姓名='

&

StuName&

从学生表中查询学生信息,学生信息正如下图所示

OnErrorGoToERR1'

当代码出错后转到标签为err1的那一行

cnn.Open'

打开数据集的连接

rst.OpenSQL,cnn,adOpenForwardOnly,adLockReadOnly,adCmdUnknown

rst.MoveFirst'

把数据库指针移到第一条信息

Ifrst!

题目编号="

0"

Then'

判断该学生是否已经选题

判断是否选题的依据是数据库中的题目表中的“已选择”是0或者是1,如果是0,则该题目未被选定,如果“已选择”的值为1,说明该题目已经被选择,数据库中的题目表如图6所示

图6

rst.Close

cnn.Close

IfCheck1.ValueThen'

若进行随机选择,即复选框已经勾起来,如图7

图7

SQL="

SELECT*FROM题目WHERE已选择='

0'

AND等级='

Level&

构建SQL语句,对数据库的查询,修改,添加,删除都需要使用SQL语句

List2中列出相应等级的未被学生选择的题目

cnn.Open

rst.OpenSQL,cnn,adOpenForwardOnly,adLockReadOnly,adCmdUnknown'

调出你选择的学生的信息

rst.MoveFirst

XuanZ=rst!

编号

Conta=rst!

内容

UPDATE题目SET已选择='

1'

WHERE编号="

XuanZ'

将题目表中选定的题目变为已选状态

cnn.ExecuteSQL'

返回更新查询到结果集

UPDATE学生SET题目编号='

XuanZ&

WHERE姓名='

学生表中该学生添加选择的题号,更新数据库

cnn.ExecuteSQL

Fori=0ToList2.ListCount-1'

将选过的题目从表中删掉

IfList2.List(i)=ContaThenList2.RemoveItem(i):

ExitFor

Nexti

Else'

不进行随机选择

IfList2.ListIndex<

0ThenMsgBox"

请选择一个题目内容"

:

ExitSub'

如果没有在2表中选择题目,则不继续进行,如图8所示

图8

SELECT*FROM题目WHERE内容='

List2.List(List2.ListIndex)&

根据题目的内容,查出题目的编号

rst.OpenSQL,cnn,adOpenForwardOnly,adLockReadOnly,adCmdUnknown

UPDATE题目SET已选择='

学生表中该学生添加选择的题号

List2.RemoveItem(List2.ListIndex)

EndIf

Else

MsgBox"

该学生已选择题目!

如果该学生已经选择过题目,再次选择是会出现如图9的界面

图9

EndIf

ExitSub

ERR1:

MsgBox"

数据库出错,请检查程序"

cnn.Close

已清空所有选题记录"

如果单机command2按钮,系统会清空所有的学生选课信息,数据库同时回到初始状态,即题目表中的“已选择”复位变成0,学生表中的题目编号再次变为0

PrivateSubCommand3_Click()

FormXT.Hide

按command3,退出选课界面,回到主界面

系统运行时自动加载连接数据库

rst.CursorLocation=adUseClient'

返回游标引擎的位置,防止错位

mpath=App.Path'

tm.mdb"

List1.Clear'

清空list1的内容

向姓名表中增加所有姓名

SELECT*FROM学生"

rst.MoveFirst

DoWhileNotrst.EOF'

光标下移直到最后一行

List1.AddItemrst!

姓名

rst.MoveNext

Loop

rst.Close

PrivateSubForm_Unload(CancelAsInteger)

PrivateSubList1_Click()

StuName=List1.List(List1.ListIndex)

PrivateSubOption1_Click(IndexAsInteger)

OnErrorGoToERR2'

当代码出错后转到标签为err2的那一行

List2.Clear

SelectCaseIndex

选择选课的题目的等级

Case0

Level="

A"

SELECT*FROM题目WHERE等级='

A'

Case1

B'

B"

Case2

C'

C"

EndSelect

Ifrst!

已选择="

ThenList2.AddItemrst!

内容'

加载该等级题目,只显示未选择的题目

formcx:

以下进入查询窗体,如图4所示

DimTextTempAsString

DimTMBHAsInteger

DimNameTempAsString

TextTemp="

查询到的结果"

vbCrLf&

vbCrLf

NameTemp=Text1.Text

Text1.Text&

IfNot(rst.EOFAndrst.BOF)Then'

检查结果是否为空

反复赋值给texttemp这个变量,是为了出现如图10所示的结果

图10

TextTemp=TextTemp&

姓名:

rst!

姓名&

学号&

班级:

班级&

选择的题目:

TMBH=rst!

题目编号

IfTMBH=0Then

没有选择题目"

如果TMBH为0,说明该学生没有选择题目,则出现图11的窗口

图11

Else

SELECT*FROM题目WHERE编号="

TMBH

#"

TMBH&

内容&

题目等级:

等级

无记录"

Text2.Text=TextTemp

Command2为查询班级选课情况的按钮,使用的SQL查询语句跟用姓名查找大同小异,command3、4、5亦同。

NameTemp="

未选题目列表"

DoWhileNotrst.EOF'

编号&

vbTab&

Loop

Text2=TextTemp

已选题目列表"

PrivateSubCommand4_Click()

未选题学生"

TextTemp=TextTemp&

学号"

姓名"

SELECT*FROM学生WHERE题目编号='

PrivateSubCommand5_Click()

SELECT*FROM学生WHERE班级='

IfTMBH=0Then

cnn2.Open

rst2.OpenSQL,cnn2,adOpenForwardOnly,adLockReadOnly,adCmdUnknown

rst2!

等级&

cnn2.Close

PrivateSubCommand6_Click()

CommonDialog1.DefaultExt="

txt"

默认保存的数据类型为文本txt型

CommonDialog1.Action=2'

使用通用对话框2,打开另存为

IfCommonDial

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

当前位置:首页 > 高中教育 > 语文

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

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