前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB6 连接SQL Server数据库实例

VB6 连接SQL Server数据库实例

作者头像
一线编程
发布2019-10-08 18:10:06
4.5K0
发布2019-10-08 18:10:06
举报
文章被收录于专栏:办公魔盒办公魔盒办公魔盒

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点.那么VB6怎么去连接呢?接下来请跟进我们的步伐前进!

直接上CLS_VB6_SQL类代码

Option Explicit

''************************************
''在这里修改数据库参数

Const IP As String = "10.28.14.30"   ''SQL数据库地址
Const PORT As String = "1433"        ''SQL数据库端口
Const USER As String = "vbxym"       ''SQL用户名
Const PASS As String = "vbxym"       ''SQL用户密码
Const DBNAME As String = "db_vbxym"  ''SQL数据库

''************************************
'''引用ADO2.8
Private CN As ADODB.Connection  ''定义连接
Private RS As ADODB.Recordset   ''定义数据集
Public TF As Boolean ''数据库初始化状态判断

''返回SQL连接字符串
Private Function CN_STR() As String

On Error GoTo er
    Dim STR As String
    STR = STR & "Provider=SQLOLEDB.1;Persist Security Info=false;"  ''sql驱动
    STR = STR & "Data Source=" & IP & "," & PORT & ";"  ''数据库地址和端口
    STR = STR & "Initial Catalog=" & DBNAME & ";"  ''数据库名
    STR = STR & "User ID=" & USER & ";"   ''用户名
    STR = STR & "Password=" & PASS & ";"  ''用户密码
    STR = STR & ", , , adAsyncConnect"  ''连接属性
    CN_STR = STR
    Exit Function
er:
   MsgBox "字符拼接错误!", vbCritical, "警告"
    
End Function

''初始化数据库
Public Function RESET_DB() As Boolean

On Error GoTo er
    Set CN = New ADODB.Connection
    Set RS = New ADODB.Recordset
    If CN.State = adStateOpen Then CN.Close  ''判断数据库是否已经打开
    CN.ConnectionTimeout = 10  ''设置连接超时
    CN.Open CN_STR  ''打开数据库
    If CN.State = adStateOpen Then  ''判断是否打开
        RESET_DB = True
        TF = True
    Else
        TF = False
        RESET_DB = False
    End If
    Exit Function
er:
   RESET_DB = False
    
End Function


''执行SQL语句
Public Function CMD_SQL(ByVal sql As String) As Boolean
    
On Error GoTo er
    If TF = False Then MsgBox "数据库没有初始化!", vbCritical, "警告": Exit Function
    If CN.State <> adStateOpen Then  ''判断数据是否打开
        CMD_SQL = False
        Exit Function
    Else
        CN.Execute sql  ''执行SQL
        CMD_SQL = True
    End If
    Exit Function
er:
   CMD_SQL = False
   
End Function

''获取SQL记录集
Public Function SELECT_SQL(ByVal sql As String) As Object ''ADODB.Recordset

On Error GoTo er
    If TF = False Then MsgBox "数据库没有初始化!", vbCritical, "警告": Exit Function
    If CN.State <> adStateOpen Then  ''判断数据是否打开
        Exit Function
    Else
        Set RS = New ADODB.Recordset
        RS.CursorLocation = adUseClient  ''客户端指针
        RS.Open sql, CN, adOpenKeyset, adLockPessimistic  ''执行SQL
        Set SELECT_SQL = RS
    End If
    Exit Function
er:
    Set SELECT_SQL = Nothing
End Function

使用案列form

Option Explicit

Dim MSQL As New CLS_VB6_SQL
Private Sub Command2_Click()
    If MSQL.TF = True Then
        Dim RS As ADODB.Recordset
        Set RS = MSQL.SELECT_SQL("SELECT * FROM tb_test")
        Set MSHFlexGrid1.DataSource = RS.DataSource
        'MsgBox RS.RecordCount
    Else
        MsgBox "数据库没有初始化!"
    End If
End Sub

Private Sub Form_Load()
    MSQL.RESET_DB
End Sub

案例下载:

https://www.lanzous.com/i6lmi4b
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档