现在的位置: 首页 > 综合 > 正文

Vb中数据库编程对象——ADO

2013年11月05日 ⁄ 综合 ⁄ 共 2105字 ⁄ 字号 评论关闭

           先来一张胜过千言万语的图:

        

          从上图我们可以清楚的看出ADO是数据库与应用程序交流的桥梁,他有承上启下的作用,对底层数据库的类型和上层数据消费者的类型支持性很强大!

          ADO是(Activex Data Objects)的简称,属于ActiveX数据对象,是Microsoft提出的应用程序接口用以实现访问关系或非关系数据库中的数据。ADO是由RDO发展来的,而RDO与ODBC一起工作只能访问关系数据库,而不能访问非关系数据库;ADO克服了RDO的一些缺陷,逐渐的既能在本机上运行又能远程使用的ADO取代了DAO和RDO的地位。

          ADO是微软开发的一种访问数据库的方法的总称,也可以说是一个类;ADODB是实际的控件对象,我们可以把ADO比喻成模子,ADODB则是生产出的产品。

下图是ADO对象层次的关系图:


              ADO对象模型中包含7类对象:Connection、Command、Recordset、Parameter、Property、Error。从上图中我们可以看出ADO的主要对象有三个:Connection(连接对象)、Command(命令对象)、Recordset(记录集对象),这是三个也是可以直接和VB打交道的对象。同时ADO还包含3个集合:Errors集合、Parameters集合、Fileds集合。

 下面我们来详细介绍一下三大对象:

             1.Connection对象

                Connection对象用来与数据源建立连接、执行查询以及建立事务处理,在建立连接之前指定数据提供者。

例:

objCn.ConnectionString= "Provider = Microsoft.Jet.OLEDB.3.51;" & _
                         "Data Source=" & App.Path & "\数据库\实例1.mdb"

                   建立连接以后就可以用Connection对象的Execute方法进行查询,包含SQL语句、存储过程或者OLE DB供应者,它从一个文本文件中返回数据,当把一个目录作为其数据源时,Execute方法的返回结果将是文本文件Custom.txt中的数据。

           在事务处理方面Connection提供了三种方法:Begin Trans、Commit Trans、Rollback。Begin
Trans使用该方法标识一个事务的开始,调用该方法后就可以对连接的数据源进行任何需要的更改;Commit Trans使用该方法标识一个事务的结束,如果从事务开始到事务结束中的一切更改顺利进行,该方法保证事务成功执行,事务内对数据库所做的修改永久的保存;Rollback使用该方法标志一个事务的结束,但是,他使用在事务执行过程出现错误的情况,该方法能够使事务所作的修改回滚到事务执行之前的状态。

       2.Command对象

           Command对象用于执行数据库操作命令,使用Command对象的ActiveConection属性同样可以创建一个连接。如果"Activeconection"属性被设置为一个Connection对象的引用,那么Command对象就建立一个新的连接,并使用这个新连接。用Command对象执行一个查询子串,可以返回一个记录集,也可以返回多个记录集,甚至可以不返回记录集。一个查询可以是一个标准的SQL数据操作语言,如SELECT、DELETE、UPDATE,等;也可以是任何数据定义语言,如CREATE、DROP等;还可以是一个存储过程或一个表。使用哪一种查询字串,由对象的“CommandType”属性决定。"CommandType"属性有四种不同的值:如果查询字串是一个SQL语句,那么"CommandType"属性应设为"adCmdText";如果查询字串是一个存储过程的名字,那么"CommandType"属性应该为"adCmdStoreProc";如果查询字串是一个表名,那么"CommandType"属性应该设为"adCmdTable";如果"CommandType"属性被设置为"adCmdUnknown",Command对象必须执行一些额外的步骤来决定查询字串的类型,这样会降低系统的性能。如果要执行一个带参数的查询,或者要执行一个查询若干次,那么可以用Command对象的"Prepared"属性预先建立一个查询字串。

 
      3.Recordset对象

 
       Recordset对象用来操作查询返回的结果集,它可以在结果集中添加(rs.addnew)、删除(rs.delete)、刷新(rs.requery)、更新(rs.update)记录。当创建了一个Recordset对象时,一个游标也被自动创建了。可以用Recordset对象的CursorType属性来设置游标的类型。游标的类型有4种:仅能向前移动的游标(ForwardOnly)、静态的游标(Static)、键集游标(KeySet)和动态游标(Dynamic)。

 
     

 
     总结的不是太全面,正在完善中,希望大家指正~~~

       

抱歉!评论已关闭.