Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » SQL Anywhere 数据访问 API » SQL Anywhere OLE DB 和 ADO 开发 » 利用 SQL Anywhere 进行 ADO 编程

 

用 Recordset 对象查询数据库

ADO Recordset 对象表示查询的结果集。可以使用它查看数据库中的数据。

示例代码

通过将名为 cmdQuery 的命令按钮放置到窗体上,并将该例程粘贴到它的 Click 事件中,可以尝试执行该例程。运行程序并单击该按钮,即可建立连接,在数据库服务器消息窗口中显示消息,执行查询并在窗口中显示前几行,然后断开连接。

Private Sub cmdQuery_Click( _
        ByVal eventSender As System.Object, _
        ByVal eventArgs As System.EventArgs) _
        Handles cmdQuery.Click

    ' Declare variables
    Dim i As Integer
    Dim myConn As New ADODB.Connection
    Dim myCommand As New ADODB.Command
    Dim myRS As New ADODB.Recordset
    
    On Error GoTo ErrorHandler
    
    ' Establish the connection
    myConn.Provider = "SAOLEDB"
    myConn.ConnectionString = _
        "Data Source=SQL Anywhere 11 Demo"
    myConn.CursorLocation = _
        ADODB.CursorLocationEnum.adUseServer
    myConn.Mode = _
        ADODB.ConnectModeEnum.adModeReadWrite
    myConn.IsolationLevel = _
        ADODB.IsolationLevelEnum.adXactCursorStability
    myConn.Open()
    
    'Execute a query
    myRS = New ADODB.Recordset
    myRS.CacheSize = 50
    myRS.let_Source("SELECT * FROM Customers")
    myRS.let_ActiveConnection(myConn)
    myRS.CursorType = ADODB.CursorTypeEnum.adOpenKeyset
    myRS.LockType = ADODB.LockTypeEnum.adLockOptimistic
    myRS.Open()
    
    'Scroll through the first few results
    myRS.MoveFirst()
    For i = 1 To 5
        MsgBox(myRS.Fields("CompanyName").Value, _ 
            MsgBoxStyle.Information)
        myRS.MoveNext()
    Next 
    
    myRS.Close()
    myConn.Close()
    Exit Sub
    
ErrorHandler: 
    MsgBox(ErrorToString(Err.Number))
    Exit Sub
End Sub
注意

在本例中,Recordset 对象保存对 Customers 表执行查询的结果。For 循环滚动浏览前几行并显示每一行的 CompanyName 值。

这是一个从 ADO 使用游标的简单示例。

有关从 ADO 使用游标的更高级示例,请参见使用 Recordset 对象