网站地图>收藏本站>设为首页
定做流程>服务项目>价格参考>付款方式>诚邀加盟>关于本站>联系我们
当前位置:5173毕业设计论文网文章资讯VB

VB自动出题系统的设计与实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-12-23 23:59:00
QQ交谈在线咨询详情 5173论文网竭诚为您服务 本站永久域名:www.lw5173.com

第五章 系统总体规划
系统功能   
. 系统的设计思路
1 应用程序设计结构
1 建立数据库,基本资料就存放在其中
通过Access建立数据库
2 用VB开发出界面连接数据库
使用ADO控件的连接数据库,通过 DATAGRID 和 TEXT显示出来。
.      3 在应用程序中用查询和统计等手段对数据库的资料进行处理,得到有效的数据,分析管理情况,得出结论和措施,然后就可以通过措施,达到管理提高效率的目的。
具体是具体实现办法
    (1)连接数据源
    利用Connection对象可以创建一个数据源的连接.应用的方法是Connection对象的Open方法.
    语法:
    Connection对象.Open ConnectionString, UserID, PassWord, OpenOptions
    其中:
    Connection对象为你定义的Connection对象的实例;
    ConnectionString为可选项,包含了连接的数据库的信息;
    UserID 可选项,包含建立连接的用户名;
    PassWord为可选项,包含建立连接的用户密码;
    OpenOptions为可选项,假如设置为adConnectAsync,则连接将异步打开.
    (2)打开记录集对象
    实际上记录集返回的是一个从数据库取回的查询结果集.因此他有两种打开方法:一种使用记录集的Open方法,另一种是用Connection对象的Execute方法.
    (a)记录集的Open方法
    语法:
    Recordset.Open Source, ActiveConnection, CursorType, LockType, Options
    其中:
    Recordset为所定义的记录集对象的实例.
    Source可选项,指明了所打开的记录源信息.可以是合法的命令,对象变量名,SQL语句,表名,存储过程调用,或保存记录集的文件名.
    ActiveConnection可选项,合法的已打开的Connection对象的变量名,或者是包含ConnectionString参数的字符串.
    CursorType可选项,确定打开记录集对象使用的指针类型.
    LockType可选项 确定打开记录集对象使用的锁定类型.
    (b)Connection对象的Execute方法
    语法:
    Set recordset=Connection.Execute(CommandText,RecordsAffected,Options)
    参数说明:
    CommandText 一个字符串,返回要执行的SQL命令,表名,存储过程或指定文本.
    RecordsAffected 可选项,Long类型的值,返回操作影响的记录数.
    Options 可选项,Long类型值,指明如何处理CommandText参数.
    介绍完了如何打开数据库下面说说怎么使用吧.
    (3)使用记录集
    (a)添加新的记录:
    在ADO中添加新的记录用的方法为:AddNew 它的语法为:
    Recordset.AddNew FieldList, Values
    Recordset为记录集对象实例
    FieldList为一个字段名,或者是一个字段数组.
    Values为给要加信息的字段赋的值,如果FiledList为一个字段名,那么Values应为一个单个的数值,假如FiledList为一个字段数组,那么Values必须也为一个个数,类型与
    FieldList相同的数组.
    再用完AddNew方法为记录集添加新的记录后,应使用UpDate将所添加的的数据存储在数据库中.不过你最好在用UpDate方法之前使用CancelUpdate方法来取消该项操作.
    (b)修改记录集
    其实修改核对记录集中的数据重新赋值没有什么太大的区别,只要用SQL语句将要修改的字段的一个数据找出来重新赋值就可以了.这里不再细说了.
    (c)删除记录
    在ADO中删除记录集中的数据的方法为:Delete方法,这与DAO对象的方法相同,但是在ADO中它的能力增强了,可以删掉一组记录了.
    它的语法如下:
    Recordset.Delete AffectRecords
    其中的,AffectRecords参数是确定Delete方法作用的方式的,它的取值如下:
    adAffectCurrent 只删除当前的记录
    adAffectGroup 删除符合Filter属性设置的那些记录.为了一次能删除一组数据,应设置Filter属性.
    (d)查询记录
    在ADO中查询的方法很灵活,有几种查询的方法.
    ●使用连接对象的Execute方法执行SQL命令,返回查询记录集.
    ●使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集.
    第一个方法的具体语法在前面数据连接时已经介绍过了,下面就第二方法具体说一下.
    Command对象的Execute方法的语法如下:
    Command.Execute RecordsAffected, Parameters, Options '不返回记录集
    或者 Set Rscordset=cmmnad.Execute(RecordsAffected,Parameters,Options) '返回记录集
    CommandText的语法为:
    Command.CommandText=stringvariable
    其中: stringvariable为字符串变量,包含SQL语句,表名或存储过程.
    (4) 断开连接
    在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分配给其他应用程序.
    使用的方法为:Close方法.
    语法如下:
    Object.Close ' Object为ADO对象
 
. 系统的技术要点
 
1多用户登陆问题
a 建立模块,Module1
b 在模块中申明变量 Public user
    c 在数据库建立用户表,存放用户名和密码,然后输入多个用户
    d 通过ADO代码连接到数据库。
    E 通过SQL语句 判断是否用户数据库有。
    F 如果没有则退出。
    G 如果有 通过SQL语句判断是否密码正确。
H 如果正确则发送数据库的该用户名到公共变量 user = myrs("user")
I 通过变量决定各个用户的权限。
 
2 出试卷
    手动出试卷
将题库的一个字段设为是否出试卷。
然后通过SQL语句筛选出记录,形成出试卷库。
SELECT * FORM TK WHERE 是否出卷=“是”
自动出试卷
 
获得随即数,然后自动出题
nb = myrs3.RecordCount
rdnb = Int((nb) * Rnd()) '获得随机数
myrs3.Move rdnb
    t1 = CStr(myrs3("编号"))
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 myrs2.Open "insert into sj select * from tkgl2 where 编号='" + t1 + "' ", mycn, adOpenKeyset, adLockOptimistic
     
 myrs3.Delete
 myrs3.MoveFirst

3 多级查询问题
 单级查询使用 SELECT * FORM TK WHERE 字段 =SS
多级查询使用 SELECT * FORM TK WHERE 字段1 =SS AND字段2 =SS2

以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
     购买帮助>>

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论