新闻| 考研| 英语| 电脑| 饮食| 报告| 笑话| 论文| 校园| 游戏| 文学| 下载| 在线交友 聊天 社团
求职| 动漫| 论坛| 高校| 电影| 音乐| 图片| 高考| 自考| 家教| 旅游| 热门| 节日祝福 设为首页
学子网 >>毕业论文>> 计算机毕业论文

ADO访问技术在科教研管理系统中的应用

作者:
龚自霞 1,2 成江晨2 葛明明2
(1.北京工业大学计算机学院,北京 100022;
     2.北京联合大学生物化学工程学院,北京100023)
 
    摘  要  本文介绍了ADO对象模型,阐述了在解决复杂问题时ADO访问技术的重要性,并描述了ADO技术在科教研管理系统中的实际应用。
    关键字  ADO 对象、模型;科教研管理;结果集
 

   1  引言

    ADO是基于Microsoft 面向对象的数据库访问新技术,其访问数据模型如图1所示,并且其是基于COM的且具有COM 组件的诸多优点,如跨语言(VC++、VB、VBScript Edition、Java可同时支持并使用)、跨平台、跨操作系统等特点,能够访问包括关系数据库、非关系数据库及所有的文件系统。与其它数据访问对象(例如RDO 和DAO)相比,ADO 对象模型含有的对象更少,更易于使用。
    科学研究和教学研究是高等学校的重要工作之一,随着科教研项目涉及到的范围也越来越广,数量越来越多,管理也越来越复杂,通过计算机进行管理无疑是最科学和最有效的方法,一方面可提高工作效率和工作质量,同时又便于部门之间进行信息交流,实现资源共享。而且目前我院 (北京联合大学生物化学工程学院)的科教研管理还是采用Excel来进行管理,所以科教研管理系统的开发迫在眉睫。教科研管理系统是我院的校园办公自动化系统中的一个子系统,主要利用Visual Base作为开发平台,SQL Server作为后台数据库研制开发的系统,应用ADO实现对数据库的访问。

    2   ADO对象模型

    ADO是Microsoft 有关高级数据接口的策略,提供了一个开放的、应用程序级的数据访问对象模型,该模型提供了一组易于使用的对象、属性、方法,用于创建可访问和操作数据的应用程序。  ADO 对象模型含有7 种对:Connection对象;Command对象;Recordset对象;Field 对象;Parameter 对象;Error 对象;Property 对象。每个ADO 对象都含有一组属性和方法,允许对对象和其内容进行操作。程序设计中对ADO操作时,主要利用以下3 个对象。
    (1)Connection 对象
    该对象建立一个和数据源的连接,它允许应用程序传递客户消息以创建连接。创建连接后,其它对象就可使用Connection对象。Connection 对象所需的数据源设置通过其ConnectString属性设置。这个字符串可以是ODBC DSN、URL 或数据连接信息,如数据提供者、服务器名、用户名、口令等。指定连接后,用Open方法建立连接。
    (2)Command 对象
    Command 对象定义在数据库连接中检索到的数据的指定详细信息。该对象可打开一个新连接或使用一个已有的连接。它通常以数据库对象为基础或以SQL查询语言为基础。要使用Command 对象,首先要指定CommandText属性和CommandType 属性,然后用Excute方法运行指定的命令。Parameter 集合与Command 对象相关联,可管理存储过程变元。
    ⑶ Recordset 对象
    Recordset 对象代表数据库表格中的一整套记录或执行一条命令而得到的结果。用该对象还提供客户机应用程序中读取、更新和操纵数据的机制。打开该对象有下面3 种方式:①使用现有打开的Connection 对象;②使用现有打开的Command对象;③直接传递连接字符串(指定ActiveConnection和Source属性)。Recordset 对象是由记录和字段组成。
图1  ADO访问数据模型
 
图2  ADO对象模型
3  在科教研管理中的应用
   
    目前利用面向对象技术,通过ADO对象实例化编程是实现ADO数据访问高级编程中的一个最实用的方法。该方法主要是通过类的编程、类对象的创建、方法的调用来实现远程数据访问的。通常在解决复杂的应用问题时,采用ADO访问技术将对解决问题起到至关重要的作用。在科教研管理系统中,在服务器端的SQL Server 数据库为jyky,因为在整个系统中要多次利用ADO对象访问数据库,所以把代码中有关数据库的连接做成一个模块,方便在程序设计中重复调用,对数据的操作(录入、添加、删除、查询)以科研项目中的横向课题为例,做一简单的设计。具体应用如下:
    (1)数据库的连接
Public Function connectString() As String'数据库连接
 connectString = "dsn=kyjy;uid=sa;pwd=goodwish;Data Source =kyjy"
End Function
Public Function ExecuteSQL(ByVal sql As String, MsgString As String) As ADODB.Recordset
     '执行SQL语句并且返回记录集
   Dim CNn As ADODB.Connection
   Dim mrc As ADODB.Recordset
On Error GoTo ExecuteSQL_Error
   Set cnn = New ADODB.Connection:   cnn.Open connectString
      Set mrc= New ADODB.Recordset: Mrc.Open  cnn, adOpenKeyset, adLockOptimistic
      mrc.MoveLast  : Set ExecuteSQL = mrc
ExecuteSQL_Exit:
   Set mrc = Nothing :  Set cnn = Nothing:  Exit Function
ExecuteSQL_Error:
   Resume ExecuteSQL_Exit
End Function
    (2)数据的录入,以横向课题为例
    txtsql = "select * from hx ": Set mrc = ExecuteSQL(txtsql, MsgText)
    If mrc.State = adStateClosed Then mrc.Open
    mrc.AddNew
    mrc.Fields("hxkth") = Trim(TextKtbh):mrc.Fields("ktmc") = Trim(TextKtmc.Text)
    mrc.Fields("ktzt") = Trim(ComboKtzt.Text): mrc.Fields("ktxz") = Trim   (ComboKtxz.Text)
    mrc.Fields("xmlb") = Val(Trim(Comboxmlb.Text))
    mrc.Fields("jfze") = Val(Trim(TextJfze.Text))
    mrc.Fields("dyq") = Trim(TextDyq.Text): mrc.Fields("deq") = countjingfei
    mrc.Fields("lxsj") = mydate: mrc.Fields("pzsj") = mydate1
    mrc.Fields("wcsj") = mydate2: mrc.Fields("zys") = CountZys
    mrc.Fields("zyly") = Trim(Txtzyly.Text) : mrc.Fields("cc") = Trim(Combocc.Text)
    mrc.Fields("ktzl") = Trim(ComboKtzl.Text): mrc.Fields("xmly") = Trim(Textxmly.Text)
    mrc.Fields("bz") = Trim(Txtbz.Text)
    mrc.Update’执行插入语句
    (3)数据修改
    txtsql = "update hx set Jfze='" & Val(Trim(TextJfze)) & "', dyq = '" & Val(Trim(TextDyq.Text))
    txtsql = txtsql & "', deq ='" & countjingfei
    txtsql = txtsql & "', xmlb ='" & Trim(Comboxmlb.Text)
    txtsql = txtsql & "', ktzt ='" & Trim(Comboktzt.Text)
    txtsql = txtsql & "', ktxz ='" & Trim(Comboktxz.Text)
    txtsql = txtsql & "', ktmc ='" & Trim(TextKtmc.Text)
    txtsql = txtsql & "', zyly ='" & Trim(Txtzyly.Text)
    txtsql = txtsql & "', xmly='" & Trim(Textxmly.Text)
    If Trim(Txtbz.Text) <> "" Then txtsql = txtsql & "', bz ='" & Trim(Txtbz.Text)
    txtsql = txtsql & "', cc ='" & Trim(Combocc.Text)
    txtsql = txtsql & "', lxsj ='" & mydate:txtsql = txtsql & "', pzsj ='" & mydate1
    txtsql = txtsql & "', wcsj ='" & mydate2:txtsql = txtsql & "',zys ='" & CountZys
    txtsql = txtsql & "',ktzl ='" & Trim(Comboktzl.Text)
    txtsql = txtsql & "' where hxkth ='" & Trim(TextKtbh.Text) & " ' "
    Set mrc = ExecuteSQL(txtsql, MsgText) ’执行修改语句
    (4)数据删除
    txtsql = "delete from hx where hxkth='" & Trim(TextKtbh.Text) & "' "
    Set mrc = ExecuteSQL(txtsql, MsgText)’执行删除语句
    (5)数据查询
    txtsql存储了根据不同的查询条件得到的SQL语句,得到的结果集存放到了mrc中
    Set mrc = ExecuteSQL(txtsql, MsgText)’执行查询语句

    5  结束语

    综上所述,ADO作为数据访问技术,在教科研管理系统中起着至关重要的作用,它能够灵活地解决一些复杂应用问题,实用性好。目前该系统已经该系统现在已经成功运行在北京联合大学生物化学工程学院的科研处和教研处,具有一定的经济效益和社会效益。

    参考文献

[1] 林建仁, 林文广. VisualBasic6.x 程序设计[M].北京:中国铁道出版社, 1999.512-549.
[2] 李刚, 王茜. 基于Web 访问数据库的实现方案[J]. 计算机工程与应用, 2000,(2):113-114.
[3] 唐建国. 数据访问新标准— — ADO[J].电脑编程技巧与维护,1999,(5):32-34.
    收稿日期:7月20日   修改日期:7月29日
    作者简介:龚自霞(1978-),女(汉族),安徽巢湖人,助教,学士,主要研究方向:计算机网络技术及其应用;葛明明(1977-),女(汉族),吉林长春人,助教,学士,主要研究方向:软件工程与软件自动化.

 

 

上传时间 2006-12-20 【来源:网上搜集】 点此进入娱乐社区

 

本站招聘- 社团主页- 公司建站 - 广告服务 - 联系方式 - About xuezi123-鲁ICP备06010920号
Copyright © 2005 xuezi123.com Inc. All rights reserved.学子中国 版权所有