当前位置:首页 > 编程学习 > VB连接SQLServer数据库操作代码

VB连接SQLServer数据库操作代码

编程学习2007-10-0356090

第一步,在ModConString模块中定义一系列变量

'定义一个属性过程反映连接字符串

Public Property Get conString() As Variant
    conString =  "data source=.;initial catalog=Sims_four;user 
End  Property


'定义一个提供者反映数据库类型

Public Property Get conProvide() As  Variant
    conProvide = "sqloledb"
End Property


第二步,建立一个类OpenRs.cls

Option Explicit
Private cnSIMS As ADODB.Connection                  '声明一个连接
Private rsSims As ADODB.Recordset                  '声明一个连接记录集
Public rs1 As ADODB.Recordset                      '声明一个连接到所需表的记录集
Public  rs2 As ADODB.Recordset
Public rst As ADODB.Recordset
Private Data As  Object
'---------------------------------------------------------
'  在类初始化时建立连接
'---------------------------------------------------------
Private  Sub Class_Initialize()
    On Error GoTo DbnotOpen
    Set cnSIMS = New  ADODB.Connection
    With cnSIMS
        .Provider = conProvide
        .ConnectionString = conString
        .ConnectionTimeout = 10
        .Open
        Set rst = New ADODB.Recordset
    End With
    Exit  Sub
DbnotOpen:
    If Err = -2147467259 Then
        Set cnSIMS =  Nothing
        MsgBox "连接后台数据库失败!" & vbCrLf & vbCrLf &  "请检查配置是否完好,数据库Sims_four是否存在?", vbOKOnly + vbInformation, "学生信息管理系统"
        End
    End If
End  Sub
'---------------------------------------------------------
'data是一个指向ADO记录集的对象的引用
'用于设置class的数据源内容
'---------------------------------------------------------
Private  Sub Class_GetDataMember(DataMember As String, Data As Object)
    Set Data =  rsSims
End Sub
'-------------------------------------------------------
'建立一个可以打开记录集的函数,需要是必须把表名传给函数
'-------------------------------------------------------
Public  Function rsDK(Table As String)
    Set rsSims = New ADODB.Recordset
    With rsSims
        .Source = Table
        .ActiveConnection = cnSIMS
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
        .Open , ,  , , adCmdTable
    End With
End  Function
'-------------------------------------------------------
'建立一个可以打开记录集(动态游标)的函数
'需要把SQL语句传递给函数
'-------------------------------------------------------
Public  Function rsDK1(sql As String)
    Set rs1 = New ADODB.Recordset
    With  rs1
        .Source = sql
        .ActiveConnection = cnSIMS
        .CursorType =  adOpenKeyset
        .LockType = adLockOptimistic
        .Open , , , ,  adCmdText
    End With
End  Function
'-------------------------------------------------------
'建立一个可以打开记录集(静态游标)的函数
'需要把SQL语句传递给函数
'-------------------------------------------------------
Public  Function rsDK2(sql As String)
    Set rs2 = New ADODB.Recordset
    With  rs2
        .Source = sql
        .ActiveConnection = cnSIMS
        .CursorType =  adOpenStatic
        .LockType = adLockOptimistic
        .Open , , , ,  adCmdText
    End With
End  Function
'-------------------------------------------------------
'类终止时,释放一切可能占据的资源
'-------------------------------------------------------
Private  Sub Class_Terminate()
    Set cnSIMS = Nothing
    Set rs1 =  Nothing
    Set rs2 = Nothing
    Set rsSims = Nothing
    Set rst =  Nothing
End Sub



第三步,在窗体中使用这个类

Option Explicit
Dim myModiStudent As OpenRs   '声明连接数据库的类
Private Sub  Form_Load()
    Set myModiStudent = New OpenRs
    myModiStudent.rsDK1 "SELECT *  FROM student_info" ’打开表,红字是表名
    If Not  myModiStudent.rs1.EOF Then
        Set StudentGrid.DataSource = myModiStudent.rs1  ’这里用到了MSHFlexGrid 控件
    End If
End Sub


OK,成功拉。VB连接SQLServer数据库操作代码  编程 数据库 VB 第1张



扫描二维码推送至手机访问。

版权声明:本文由海阔天空发布,如需转载请注明出处。

本文链接:https://apull.net/html/20071003103.html

分享给朋友:

相关文章

年纪偏大是否适合学习计算机

年纪偏大是否适合学习计算机

★年纪偏大是否适合学习计算机  Q:我本科不是学计算机专业。但是我对计算机的兴趣很大,想明年考北京大学计算机软件的研究生!请问像我这样快30岁的人了,才开始学习计算机是不是太晚了?  A:中国很多人相信程序员是吃青春饭的。 这主要是由中国软件水平发展的现状决定的。 1、大部分都做的是行业管理方面的软件,从计算机技术上说很快就可以进入。 2、很多公司没有管理和技术双重的提升机制,使得人们觉得做管理比做技术有前途,但是仍...

在ASP中访问和更新Cookies集合

在ASP中访问和更新Cookies集合

  Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。  ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出的cookie值,并可创建或修改cookie,通过Response对象的Cookies集合发回给用户。  Cookie包含可用两种方式构造的信息,单值cookie提供其值给代...

用vb模拟键盘

用vb模拟键盘

  键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重复性的键盘操作交给程序来模拟,省了很多精力,按键精灵就是这样的一个软件。那么我们怎样才能用VB来写一个程序,达到与按键精灵类似的功能呢?那就让我们来先了解一下windows中响应键盘事件的机制。   当用户按下键盘上的一个键时,键盘内的芯片会...

 C/C++时间函数的使用

C/C++时间函数的使用

一、获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是:typedef long time_t;        /* time value */可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年1月18日19时14分...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。