⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmrecordset.vb

📁 Visual Basic 传统数据访问模式ADO
💻 VB
字号:
Option Explicit On
Option Strict On
Imports ADODB

Public Class frmRecordset

    Private oConnection1 As Connection
    Private m_oRecordset As Recordset

    Private Sub UpdateInfo()
        '填充控件内容
        txtID.Text = m_oRecordset.Fields.Item(0).Value().ToString()
        txtName.Text = m_oRecordset.Fields.Item(1).Value.ToString()
        txtPlace.Text = m_oRecordset.Fields.Item(2).Value.ToString()
        txtPrice.Text = m_oRecordset.Fields.Item(3).Value.ToString()
        txtType.Text = m_oRecordset.Fields.Item(4).Value.ToString()
    End Sub

    Private Sub frmRecordset_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '设置数据库连接字符串
        Dim m_sConnStr As String = "Provider='SQLOLEDB';Data Source='HZIEE-2E53F913F';" & _
                    "Initial Catalog='SuperMarket';Integrated Security='SSPI';"

        '实例化Connection类并打开Connection对象
        oConnection1 = New Connection
        oConnection1.CursorLocation = CursorLocationEnum.adUseClient
        oConnection1.Open(m_sConnStr)

        Dim sSQL As String = "SELECT 编号, 名称, 产地, 价格, 类型编号 " & _
                 "FROM Product"

        '实例化并打开Recordset对象
        m_oRecordset = New Recordset
        m_oRecordset.Open(sSQL, oConnection1, CursorTypeEnum.adOpenStatic, _
                            LockTypeEnum.adLockBatchOptimistic, CommandTypeEnum.adCmdText)

        UpdateInfo()

    End Sub

    Private Sub frmRecordset_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        '判断Connection对象是否存在
        If Not oConnection1 Is Nothing Then
            '判断数据库是否处于连接状态
            If oConnection1.State = ConnectionState.Open Then
                '断开Recordset连接
                m_oRecordset.ActiveConnection = Nothing
                '关闭数据库连接
                oConnection1.Close()
            End If
            oConnection1 = Nothing
        End If
    End Sub

    Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
        '移动到第一条记录
        m_oRecordset.MoveFirst()
        If Not m_oRecordset.BOF Then
            '如果不是第一条的前一条,则执行更新操作,否则不做任何操作
            UpdateInfo()
        End If
    End Sub

    Private Sub btnPre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPre.Click
        m_oRecordset.MovePrevious()
        If Not m_oRecordset.BOF Then
            UpdateInfo()
        End If
    End Sub

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
        m_oRecordset.MoveNext()
        If Not m_oRecordset.EOF Then
            UpdateInfo()
        End If
    End Sub

    Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
        m_oRecordset.MoveLast()
        If Not m_oRecordset.EOF Then
            UpdateInfo()
        End If
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -