转:VB用ADO连接SQLServer数据库
'数据源信息常量
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数据库的更多相关文章
- jsp连接sqlServer数据库教程
一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar 下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0 下载地址:点击进入 开发IDE工 ...
- 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”
习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...
- asp.net 连接sqlserver数据库
在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面 ...
- SQLServer-----使用jTDS连接SQLServer数据库
一.jTDS一个简短的引论 jTDS100%纯Java实现的JDBC3.0驱动,它用于连接 Microsoft SQL Server(6.5.7.2000,2005,2008 和 2012)和Syba ...
- Jmeter连接SqlServer数据库进行压力测试
Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲s ...
- python连接sqlserver数据库
1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要: pi ...
- JavaWeb连接SQLServer数据库并完成一个登录界面及其功能设计。
一.JDBC连接SQLserver数据库的步骤: 1.下载SQLserver的JDBC驱动文件——Microsoft JDBC Driver 4.0 for SQL Server 2.例如下载得到的文 ...
- 64位程序,利用ADO连接Oracle数据库
刚好手头项目解决了ADO连接Oracle数据库的问题,记录下来,防止忘记. 项目情况:用32位环境完成算法动态库,结果后来需要升级到64位环境,由64位的软件来调用,则在64位设置下生成算法动 ...
- php支持连接sqlserver数据库
php支持连接sqlserver数据库 1.软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10. ...
随机推荐
- 【UOJ #206】【APIO 2016】Gap
http://uoj.ac/problem/206 对于T=1,直接从两端往中间跳可以遍历所有的点. 对于T=2,先求出最小值a和最大值b,由鸽巢原理,答案一定不小于\(\frac{b-a}{N-1} ...
- 范浩强treap 普通平衡树
增加Split(分裂),Merge(合并)操作,非常好写,时间也不比普通treap慢什么. #include<bits/stdc++.h> using namespace std; str ...
- [APIO2014]序列分割 --- 斜率优化DP
[APIO2014]序列分割 题目大意: 你正在玩一个关于长度为\(n\)的非负整数序列的游戏.这个游戏中你需要把序列分成\(k+1\)个非空的块.为了得到\(k+1\)块,你需要重复下面的操作\(k ...
- []APC001
题目质量都好高啊... A:求一个是$X$的倍数但不是$Y$的倍数的数,无解输出$-1$ 无解就是$Y|X$,否则输出$X$即可 B:给定$a_{1\cdots n},b_{1\cdots n}$,求 ...
- 【离散化】【DFS】Gym - 101617H - Security Badges
题意:给你一张有向图,每条边有个限制范围,只有权值在限制范围内的人能走这条边,问你权值不超过K的人中,有多少人能从S到T. K很大,因此我们只处理边的范围的上下界这O(m)个权值能否到达,以防万一,还 ...
- Java解释执行和编译执行
以前有句话说:“Java是解释执行的 ” .现在看来确实不是很准确,至于原因,在此简略解释: 首先,我们先解释一下在Java中解释执行和编译执行的区别. 解释执行:将编译好的字节码一行一行地翻译为机器 ...
- 线段树--codevs 1690 开关灯
codevs 1690 开关灯 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description YYX家门前的街上有N(2& ...
- JAVA容器-浅谈HashMap的实现原理
概述 HashMap是通过数组+链表的方式实现的,由于HashMap的链表也是采用数组方式,我就修改直接利用LinkedList实现,简单模拟一下. 1.Key.Value的存取方式. 2.HashM ...
- javascript 手机号间隔显示 123 4567 8910
// 手机号分隔显示 let tel = this.data.tel_value // 原始手机号 let len = tel_value.length // 原始手机号的长度 let mobile ...
- 一、 Log4E插件下载
下载地址:http://log4e.jayefem.de/content/view/3/2/ 二.安装Log4E插件 将下载下来的压缩包解压缩,如下图所示: 解压缩生成的[de.jayefem.log ...