'数据源信息常量
 Public Const conn As String = "Provider = SQLOLEDB.1;Password = sa; UserID = sa; Initial Catalog = StudentFiles; Data Source = localhost"

Public Const CONNECT_LOOP_MAX = 10  '一次执行connect操作,可以访问数据库的次数

Private IsConnect As Boolean  '标记数据库是否连接

Private Connect_Num As Integer  '标记执行Connect()函数后访问数据的次数

Private cnn As ADDODB.Connection '连接数据库的Connect对象
 
 Private re As ADDODB.Recordset  '保存结果集的Recordset对象

//连接数据库
 Private Sub Connect()
 ’如果连接标记为真,则返回。
  IF IsConnect = True Then 
     Exit Sub
  End If

Set cnn = New ADODB.Connection '关键new用于创建新对象cnn
  
  cnn.ConnectionString = conn
  
  cnn.Open
  '判断连接的状态
  If cnn.State <> adStateOpen Then
     MsgBox"数据库连接失败"
     End
  End If

'设置连接标识,表示已经连接到数据库
  IsConnect = True
End Sub

'断开与数据库的连接
Private Sub DisConnect()
  Dim rc As Long

If IsConnect = False Then
     Exit Sub
  End If
  '关闭连接
  cnn.Close
  '释放cnn
  Set cnn = Nothing
  IsConnect = False
End Sub

'使用Connect_Num控制数据连接
Public Sub DB_Connect()
   Connect_Num = Connect_Num + 1
   Connect
End Sub

'使用Connect_Num控制数据断开
Public Sub DB_Disconnect()
If Connect_Num >= CONNECT_LOOP_MAX Then
   Connect_Num = 0
   Disconnect
 End If
 End Sub

'强制关闭api方式访问俄的数据库,计数器复位
Public Sub DBapi_Disconnect()
   Connect_Num = 0
   Disconnect
End Sub

'执行数据库操作语言
'byval 就是按参数的值传递,再传递过程中,参数不会发生变化(也就是将参数值而不是将地址传递给过程的方式,这就使过程访问发哦变量的副本,过程不可改变变量的值);
与之对应的是byref,指按参数的地址传值,byref可以省略
Public Sub SQLExt(ByVal TmpSQLstmt As String )

Dim cmd As New ADODB.Command '创建Command对象cmd
    
    DB_Connect  '连接数据库
    
    Set cmd.ActiveConnection = cnn '设置cmd的ActiveConnect属性,指定与其关联的数据库连接

cmd.CommandText = TmpSQLstmt '设置要执行的命令文本

'MsgBox TmpSQLstmt

cmd.Execute  '执行命令

Set cmd = Nothing

DB_DisConnect  '断开与数据库的连接

End Sub

'执行数据库查询语句
Public Function QueryExt(ByVal TmpSQLstmt As String ) As ADODB.Recordset
    
    Dim rst As New ADODB.Recordset  '创建Rescordset对象rst

DB_Connect  '连接数据库

Set rst.ActiveConnection = cnn  '设置rst的ActiveConnection属性,指定与其相关的数据库的连接

rst.CursorType = adOpenDynamic  '设置游标类型

rst.LockType = adLockOptimistic  '设置锁定类型

rst.Open TmpSQLstmt '打开记录集

Set QueryExt = rst '返回记录集

End Function

转:VB用ADO连接SQLServer数据库的更多相关文章

  1. jsp连接sqlServer数据库教程

    一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0   下载地址:点击进入 开发IDE工 ...

  2. 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”

    习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...

  3. asp.net 连接sqlserver数据库

    在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面 ...

  4. SQLServer-----使用jTDS连接SQLServer数据库

    一.jTDS一个简短的引论 jTDS100%纯Java实现的JDBC3.0驱动,它用于连接 Microsoft SQL Server(6.5.7.2000,2005,2008 和 2012)和Syba ...

  5. Jmeter连接SqlServer数据库进行压力测试

    Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲s ...

  6. python连接sqlserver数据库

    1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要: pi ...

  7. JavaWeb连接SQLServer数据库并完成一个登录界面及其功能设计。

    一.JDBC连接SQLserver数据库的步骤: 1.下载SQLserver的JDBC驱动文件——Microsoft JDBC Driver 4.0 for SQL Server 2.例如下载得到的文 ...

  8. 64位程序,利用ADO连接Oracle数据库

        刚好手头项目解决了ADO连接Oracle数据库的问题,记录下来,防止忘记. 项目情况:用32位环境完成算法动态库,结果后来需要升级到64位环境,由64位的软件来调用,则在64位设置下生成算法动 ...

  9. php支持连接sqlserver数据库

    php支持连接sqlserver数据库 1.软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10. ...

随机推荐

  1. 【51Nod 1815】【算法马拉松 23】调查任务

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1815 tarjan缩点后在DAG上递推即可. 每个点维护所有根到它的路径 ...

  2. bzoj 2434 ac自动机

    ac自动机中,如果以trie中的节点为节点,(fail[i],i)为边,可以建立一颗树,该树有如下特点:“节点u是节点v的祖先 当且仅当 u代表的字符串是v代表的字符串的一个后缀”.(u代表的字符串是 ...

  3. Educational Codeforces Round 12 E. Beautiful Subarrays 字典树

    E. Beautiful Subarrays 题目连接: http://www.codeforces.com/contest/665/problem/E Description One day, ZS ...

  4. CROC 2016 - Elimination Round (Rated Unofficial Edition) E. Intellectual Inquiry 贪心 构造 dp

    E. Intellectual Inquiry 题目连接: http://www.codeforces.com/contest/655/problem/E Description After gett ...

  5. HttpURLConnection与 HttpClient 区别/性能测试对比

    HttpClient是个开源框架,封装了访问http的请求头,参数,内容体,响应等等, HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便 HttpClient实 ...

  6. erlang 大神

    http://blog.csdn.net/erlib/article/details/46655905

  7. Xcode的插件的路径

    /Users/dllo/Library/Application\ Support/Developer

  8. 《CUDA并行程序设计:GPU编程指南》

    <CUDA并行程序设计:GPU编程指南> 基本信息 原书名:CUDA Programming:A Developer’s Guide to Parallel Computing with ...

  9. (原创)2. WPF中的依赖属性之二

    1 依赖属性 1.1 依赖属性最终值的选用 WPF属性系统对依赖属性操作的基本步骤如下: 第一,确定Base Value,对同一个属性的赋值可能发生在很多地方.还用Button的宽度来进行举例,可能在 ...

  10. Meanshift,聚类算法(转)

    原帖地址:http://www.cnblogs.com/liqizhou/archive/2012/05/12/2497220.html   记得刚读研究生的时候,学习的第一个算法就是meanshif ...