VB语言使用ADO连接、操作SQLServer数据库教程

几年前学过的VB几乎忘光了,这几天复习了下。VB连接ADO数据库并不是非常难。

连接第一步(要仔细看)

对于小白来讲,这里的教程最详细,连接ADO数据库第一步,要添加什么部件呢?全称是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件。

在Microsoft ADO Data Control 6.0 (SP6) (OLEDB)部件里有一个名叫:Adodc数据控件,要将它添加。在Adodc数据控件数据位置中找到ACCES。

控件引用的方法(值指的是姓名)

代码如下:

For i = 1 To Adodc1.Recordset.RecordCount
     If Not Adodc1.Recordset.EOF Then

Combo1.AddItem Adodc1.Recordset.Fields("值").Value

Adodc1.Recordset.Movenext
End If
Next i

该代码引用的编写者是ydl890406大大,在VB群中写这东西时,让我借用了,后来我发现有很多错误,y大神修改几次后的还是有错误,干脆重写了一遍,这就是后来的代码。时间过去的很快,VB群也解散了。后来不知为何,现在很多的教程都用了这段代码。

第二部分是AOD的代码连接,由于第二部分涉及到Recordset对象和Connection对象,自己学一下,完全可以自己编写。

何为Recordset对象和Connection对象,Connection对象是与数据源的连接,Recordset对象是操作数据。

寻找Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件

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
(0)

相关推荐

  • Activiti-Explorer使用sql server数据库实现方法

    如何让Activiti-Explorer使用sql server数据库 从官网下载的Activiti-explorer的war文件内部默认是使用h2内存数据库的,如果想改用其他的数据库来做持久化,比如sql server,需要做如下配置. 1)修改db.properties文件 路径:C:\apache-tomcat-7.0.64\webapps\activiti-explorer\WEB-INF\classes\db.properties 内容如下: db=mssql jdbc.driver=

  • c#连接sqlserver数据库、插入数据、从数据库获取时间示例

    c#连接sqlserver.插入数据.从数据库获取时间 复制代码 代码如下: using System;using System.Data.SqlClient; namespace Test{    //连接数据库    public class Connection    {        private static string connectionString =            "Server = 192.168.1.222;" +            "D

  • SQL Server数据库中批量导入数据的四种方法总结

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些. 第一:使用Select Into语句 若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入.Select Into语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中.

  • ASP.NET2.0 SQL Server数据库连接详解

    Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. SqlConnection类的对象连接SQL Server数据库:OracleConnection 类的对象连接Oracle数据库: OleDbConnection类的对象连接支持OLE DB的数据库,如Access:而OdbcConnection类的对象连接任何支持ODBC的数据库.与数据库的所有通讯最终都是通过Connection对象来完

  • 用sql脚本创建sqlserver数据库范例语句

    下面是创建一个sqlserver数据库的代码模板,加上一个创建表的模板.开发的时候可以拷贝过去直接改动一下就可以用了. 希望能帮上忙! 复制代码 代码如下: USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTemp --如果数据库存在先删掉数据库 END GO CREATE DATABASE HkTemp ON PRIMARY --创建主数据库文件 (

  • SQL Server数据库入门学习总结

    一图胜"十"言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识. 数据库基本是由表,关系,操作组成:对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数 存储过程 触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装.配置,服务器启动.停止,企业管理器.查询分

  • 将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)

    ACCESS2000文件 用ACCESS2007打开,并迁移到SQLSERVER2005里 打开ACCESS2007的数据库工具 方法一:使用ACCESS2007自带的数据库迁移工具 1.打开ACCESS2007的数据库迁移向导 2.点击SQLSERVER按钮,弹出升迁向导对话框 3.选择新建数据库 4.输入计算机名,我的本地计算机名字叫joe,因为SQLSERVER安装在本地,所以选择使用可信连接就可以了 数据库名称默认就可以了 5.选择所有表,移动到右边框 6.把表索引也一起升迁到SQLSE

  • 在SQL Server数据库中为标识(IDENTITY)列插入显式值

    如果我们在标识列中插入值,例如: insert member(id,username) values(10,'admin') 则在查询分析器里面会返回错误信息:  引用内容 服务器: 消息 544,级别 16,状态 1,行 1 当 IDENTITY_Insert 设置为 OFF 时,不能向表 'member' 中的标识列插入显式值. 而在ASP程序中会返回错误信息:  引用内容 Microsoft OLE DB Provider for SQL Server 错误 '80040e14' 当 ID

  • sqlserver数据库导入数据操作详解(图)

    Microsoft SQL Server Management Studio是SQL SERVER的客户端工具,相信大家都知道.我不知道大伙使用导入数据的情况怎么样,反正我最近是遇到过.主要是因为没有远程数据库服务器的权限,而需要测试新修改的内容对旧数据的冲突.因为流程改变,免不了需要修改数据来适应新的变化.所以需要在测试环境里面去模拟真实环境的数据.当时还搞笑,直接是粘贴到EXCEL,然后再复制到数据库.对于一般来说,这种方式也可以,但是对于一些特殊的字符,如果直接粘贴到EXCEL里面的话,并

  • 如何远程连接SQL Server数据库图文教程

    一.设置客户端网络实用工具点击"开始"-"程序",在"Microsoft SQL Server"菜单中选择"客户端网络实用工具". 在"别名"选项中点击"添加". 在"服务器别名"中,填入您网站域名,在"网络库"区域中点击"TCP/IP",在"连接参数"区域取消"动态决定端口",指定&qu

随机推荐