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

VB连接SQLServer数据库操作代码

编程学习2007-10-0362840

第一步,在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

分享给朋友:

相关文章

 C++中指针的使用艺术

C++中指针的使用艺术

C++中指针的使用艺术 在C++编程中使用指针能有速度快,节约内存等优点,是很多C++程序员的最爱。但指针是一把双刃剑,用好了它,你就会发现指针有多么的方便,反之,你可能就头疼了,往往会出现意想不到的问题。   一.什么是指针:   其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针只是一个指示器,它告诉程序在内存的哪块区域可以找到数据。   这是一个非常重要的概念,有很多程序和算法都是围绕指针设计的,如链...

密码的故事

密码的故事

密码的故事Billy Hollis 本文是由一个问题引出的。我需要一种将密码保存在加密文件中的方法,因为我需要记住许多密码,但记忆力却已大不如前。我知道有许多商用工具能够做到这一点,但我感到学习  .NET 中的一项新技术真的很有好处。 我用 Visual Basic® .NET  完成了一个简单而完整的程序,用于加密和解密文件,从中学到了许多知识。既然加密对于多种开发都是一个重要问题,本文就介绍一下如何构造这样的程序。 有各种低级别的技术可以用于加密,...

VB.NET中如何扩充字符串进行固定宽度显示

VB.NET中如何扩充字符串进行固定宽度显示

  在VB.NET中,当你需要在控制台显示数据或准备好打印数据时,可能需要调整列宽以显示固定长度的数据。本文介绍了使用String对象的PadLeft方法和PadRight方法扩充字符串以进行固定宽度显示。PadLeft和PadRight方法      PadLeft和PadRight是字符串类的两个方法,可以分别使用它们在字符串的左边和右边填充空格。这两个方法多接受一个代表总长度的整型数,添加的空格数等于填充总长度减去字符串的当前长...

C++实现十进制转换为二进制

C++实现十进制转换为二进制

这个写得有些早了,学习c++是写的。现在看到很多帖子问这个问题,把这个贴上来供大家参考下。/* * FileName: bin.cpp * * 转换十进制为二进制 * * Apull * 2005-12-2 */ #include <iostream> #include <cstdlib> using namespace std; const int size = sizeof(int) *...