ADO简介

         ADO(activex Date Object)是Microsoft的universal Data Access 发展策略的一个重要组成部分,它将取代Data access  object(DAO)和remote Data object(RDO) 两种技术。使用ADO,不仅仅可以在Visual Basic中开发数据库应用程序,还可以在Activeserver pages中构建Web数据库应用程序。

      ADO通OLE DB实现对不同类型数据源的访问。OLE DB是一种最底层的编程接口,它支持关系或非关系型的数据源,比如各种类型的数据库、电子表格、电子邮件等。它有三大部分组成包括:数据提供者(Data Provider)数据消费者和服务组件。

       通过下图来了解他们之间的关系。

ADO简介_第1张图片

屏幕剪辑的捕获时间:2012-7-31 20:40

   下面通过思维导图来进行进一步的学习。

        接下来我们学习ADO对象模型:

 ADO简介_第2张图片

屏幕剪辑的捕获时间:2012-7-31 21:00

    一图胜过千言万语,我们可以看到ADO对象模型分为两大类对象即:独立对象和非独立对象。接下来进一步学习三种独立对象:

一、使用Connection对象

         任何数据库访问操作都建立在连接的基础上,在连接字符串中,必须指定正确的数据提供者、数据库、数据库服务器、访问数据库身份验证方式以及用户名、口令等信息。连接字符串中针对不同类型的提供者(Provider)有各种不同的参数。

       例如:下面的代码演示了通过多种方法来使用Connection对象创建SQL server和ODBC数据源的连接。在例子中使用了连接的Connection Timeout属性设置连接超时限制,并使用State属性检查是否正确打开了连接状态。还定义了一个函数Getstate来判断连接打开情况。

      (一)、打开SQL server数据源

Set cnn1=New ADODB.Connection

cnn1.connectionString="Provider=SQLOLEDB;database=myvbdatabase;"

                                       "server=(local);integrated Security=SSPI"

cnn1.Connection Timeout=30

cnn1.Open

           (二)、 使用DSN标记打开ODBC数据源

Set cnn2=New ADODB.Connection

cnn2.ConnectionString="DSN=mySQLsODBC;UID=sa;PWD=;"

cnn2.open

       (三)、使用DNS和OLE DB标记打开连接

cnn3.ConnectionString="Data Source=mySQLODBC;User Id=sa;Password=;"

cnn3.Open

   (四)、使用Jet连接Access数据库

Set cnn4=New ADODB.Connection

cnn4.ConnectionString="Provider=Microsoft.jet.OlEDB.3.51;" &_

                                      "Data Source=D:\VB精彩范例\01\数据库\实例1.mdb"

cnn4.open"mySQLODBC","sa",""

        (五)、使用一个函数Getstate来判断连接打开情况。

Public Function GetState(intState As integer)AS String

     Select Case intStae

             Case adStateClosed

                   GetState="未能打开数据源连接"

             Case adStateOpen

                  Getstate="成功建立数据源连接"

     End Select

End Function

 二、使用Recordset对象

       Recordset对象用于保存执行查询后获得的记录集。在使用时可以根据使用记录集的情况设置不同的游标类型。游标类型决定了访问记录集的方式、是否可修改记录集中的数据以及是否可将记录集的修改返回数据库。ADO定义了4种游标类型。这四种类型分别为仅向前游标(adopenforwardOnly默认游标)、键集游标(adOpenKeyset)、动态游标(adOpenDynamic)和静态游标(adOpenStatic)

       下面的例子通过使用Recordset对象浏览记录。

 (一)、打开SQL server数据源连接

Public Sub TestRecordset()

        Dim cnn1 As ADODB.Connection,rs AS New ADODB.Recordset

        Dim strOut As String,row As Record

        '打开SQL Server数据源连接

        Set cnn1=New ADODB.Connection

         cnn1.ConnectionString="Provider=SQLOLEDB;database=myvbdatabase;"&_

                                                  "server=(local);UID=sa;PWD=;"

          cnn1.Connectiontimeout=30

          cnn1.Open

    (二)、定义游标类型

rs.CursorType=adOpenForwardOnly

Set rs.ActiveConnection=cnn1

rs.Open"Select*from Employee"

    (三)、获得记录集中的数据

While Not rs.EOF

        For i=0 To rs.Fields.Count-1

               strOut=strOut &" "&rs.Fields(i).Value

        Next

        strOut=strOut & vbCr

         rs.MoveNext

Wend

三、使用Command对象

        Command对象可用于执行各种SQL命令或者是存储过程。下面的例子使用Command对象执行SQL命令在SQL server服务器上创建指定的数据库。

  (一)、打开SQL server数据源连接

Public sub TestCommand()

        On Error GoTo doError

        Dim cnn1 As ADODB.Connection, Cmm1 As New ADODB.Command

        '打开SQL Server 数据源连接

         Set cnn1=New ADODB.Connection

         cnn1.Connectionstring="Provider=SQLOLEDB;server=(local);UID=sa;PWD=;"

         cnn1.ConnectionTimeout=30

         cnn1.Open

   (二)、使用Command对象执行SQL命令在SQL server服务器上创建指定的数据库。

cmm1.CommandText="Create DataBase myTestDatabase"

cmm1.CommandType=adCmdText

Set cmm1.ActiveConnection=cnn1

Cmm1.Execute

Cnn1.Close

Exit Sub

     以上就是我对ADO简单的理解,希望在今后的学习中获得更多的完善。

你可能感兴趣的:(sql,sql,sql,sql,数据库,server,server,object,object,server,server,Microsoft,Microsoft,command)