一个用VB连接SQL数据库连接的模块2007年01月22日 星期一 下午 05:29下面是一个连接数据库的模块,大家可以使用它来连接SQL数据库,使用起来比ADO控件还简单:
代码如下:
Public rsNew As ADODB.Recordset
Public CnNew As ADODB.Connection
Public addFlag As Boolean
'连接数据库
Public Function OpenCn() As Boolean
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
CnNew.ConnectionTimeout = 25
CnNew.Provider = "sqloledb"
CnNew.Properties("data source").value = "" 'SQL服务器的名
CnNew.Properties("initial catalog").value = "pubs"'库名
CnNew.Properties("integrated security").value = "SSPI"'登陆类型
'con.Properties("user id").value = "sa"
'con.Properties("password").value = "wwww"
CnNew.Open
OpenCn = True
addFlag = True
Exit Function
strErrMag:
Mag = "数据库末连接"
Call MsgBox(Mag, vbOKCancel, "错误:数据库连接")
addFlag = False
End
End Function
Public Sub Clocn()
'闭关数据库
On Error Resume Next
If CnNew.State <> adStateClosed Then CnNew.Close
Set CnNew = Nothing
End Sub
Public Function OpenRs(ByVal strSql As String) As Boolean
'连接数据库记录集
Dim Mag As String
Dim rpy As Boolean
On Error GoTo strErrMag
Set rsNew = New ADODB.Recordset
If addFlag = False Then rpy = OpenCn
With rsNew
.ActiveConnection = CnNew
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strSql
End With
addFlag = True
OpenRs = True
Exit Function
strErrMag:
Mag = "数据库数据集末连接"
Call MsgBox(Mag, vbOKOnly, "错误:数据库连接")
OpenRs = False
End
End Function
Public Sub cloRs()
'闭关数据集
On Error Resume Next
If rsNew.State <> adStateClosed Then rsNew.Close
Set rsNew = Nothing
End Sub
只要在你的标准模块中加入该代码,你就可以使用其中的函数来连接数据源了。
2. vb怎样连接SQL
http://..com/question/124849874.html
http://hi..com/%C2%B7%C4%CF%C6%BD/blog/item/19f7c803f1a9b080d43f7c9b.html
3. VB怎么连接MSSql数据库
要连接SQL数据库有两种方法用ADODC或ADO。
方法一:
(ADODC)
首先须引用Projects-Components-Microsoft
ADO
Data
Controls
6.0
(OLEDB)。
之后在表单设置ADODC控件。然后Form_Load()输入以下代码:
Private
Sub
Form_Load()
ADODC1.ConnectionString
=
"Provider=SQLOLEDB;Password=密码;Persist
Security
Info=False;User
ID=用户名;Initial
Catalog=数据库名;Data
Source=服务器名"
ADODC1.CommandType
=
adCmdText
ADODC1.RecordSource
=
"select
*
from
表格名称"
ADODC1.Refresh
End
Sub
方法二:
(ADO)
首先须引用Projects-References-Microsoft
Active
X
Data
Objects
2.0
Library。
注意以下两段须写在程式最上面(Gerenal一般)中。
Dim
cn
As
New
ADODB.Connection
Dim
rs
As
New
ADODB.Recordset
Dim
SQL
As
String
然后在Form_Load()输入以下代码:
Private
Sub
Form_Load()
cn.ConnectionString
=
"Provider=SQLOLEDB;Password=密码;Persist
Security
Info=False;User
ID=用户名;Initial
Catalog=数据库名;Data
Source=服务器名"
cn.Open
If
rs.State
=
adStateOpen
Then
rs.Close
rs.CursorLocation
=
adUseClient
SQL
=
"select
*
from
表格名"
rs.Open
Trim$(SQL),
cn,
adOpenKeyset,
adLockPessimistic
End
Sub
4. vb如何连接sql数据库,求源码
Dim conn As New ADODB.Connection '创建一个 Connection 实例,在这里使用New等于将Dim和Set合并为一段代码执行
Dim rs As ADODB.Recordset '创建一个 Recordset 实例,不使用New 是因为,经常需要重复使用Set,因此没必要在这里使用
Dim CnStr As String, Sql As String '创建两个字符串变量分别存放两个集合的SQL语句代码段
1、装载数据库(不属于Recordset集合)
=============
Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$
'以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码
FileName = App.Path & "\'数据库名'"
DbIp = "数据库地址"
DbName = "数据库名"
DbUser = "数据操作员用户名"
DbPw = "操作员密码"
'以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量
'1)连接Access数据库:
'-------------------
CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileName & ";Jet OLEDB:Database Password=" & DbPw
'2)连接Oracle数据库:
'-------------------
CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data Source=" & FileName & ";Persist Security Info=True"
'其中:
'PASSWORD: 密码
'User ID: 用户号
'Data Source: 数据库名
'Persist Security Info:
'Provider:
'3)连接VF的DBF库:
'----------------
CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=" & DbUser & ";SourceDB=" & FileName &
";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"
'4)连接SQL的数据库
'------------------
CnStr = "PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=" & DbUser & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE=" & DbName & ";WSID=GQSOFT;SERVER=" &
DbIP
'也可以使用这段简易代码 CnStr = "Provider=SQLOLEDB;Data Source=" & DbIp & ";DATABASE=" & DbName & ";UID=" & DbUser & ";pwd=" & DbPw
Conn.Open cnstr '使用 Connection 集合的 Open 方法 与数据库建立连接
2、Recordset集合的常用方法
==========================
'1)打开一个表
'------------
Sql = "select * from 表名" 'SQL查询语句
Set rs = New ADODB.Recordset '新建一个实例
rs.Open Sql, conn '使用 Open 方法打开数据库中的一个表
'注意,这种打开方式只能使用 rs.MoveNext (即,向后移动行坐标)而不能像其他方向,并且不能修改数据内容
'
'rs.Open Sql, conn,1 '虽然只加了个“1”,但这种方法可以向任何方向移动行坐标。
'
'以下参数代表了这个可选值的含义
'0 = adOpenForwardOnly (默认值)打开仅向前类型游标。
'1 = adOpenKeyset 打开键集类型游标。
'2 = adOpenDynamic 打开动态类型游标。
'3 = adOpenStatic 打开静态类型游标。
'
'虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因此需要进一步的对Open 方法进行完善
'rs.Open Sql, conn, 1, 3 '后面的3是确定读写权限的
'以下参数代表了这个可选值的含义
'1 = adLockReadOnly (默认值)只读 — 不能改变数据。
'2 = adLockPessimistic 保守式锁定(逐个) — 在编辑时立即锁定数据源的记录。
'3 = adLockOptimistic 开放式锁定(逐个) — 只在调用 Update 方法时才锁定记录。
'4 = adLockBatchOptimistic 开放式批更新 — 用于批更新模式(与立即更新模式相对)。
'
'2)读写数据
'----------
'增加一行记录并对新记录的内容进行修改并保存可以如下写法
rs.AddNew '增加一行记录
rs("...")="..." '数据读写操作
...
rs.UpDate '保存写入资料,如果使用只读权限,则不能使用这个方法
rs.Close '这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重
2、对数据进行筛选和排序
=======================
Sql = "select * from 表名" 'SQL查询语句
'以上为打开一个表的所有内容
Sql = "select top 50 * from 表名" 'SQL查询语句
'以上为只打开前50行的记录
Sql = "select top 50 列名1,列名2,列名5 from 表名" 'SQL查询语句
'以上为只打开前50行的记录,并且只打开第1、2、5列数据
Sql = "select * from 表名 where 列名1='" & 字段 & "'" 'SQL查询语句
'以上为一个简单的筛选,表示打开的内容必须符合[列名1='" & 字段 & "'"]的内容
'需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起
'而数字类型则不能用单引号括起
'另外SQL语句还支持通配符,例如 列名1 like '%" & 字段 & "%'" 表示包含[字段]
'在表达式中的匹配
'? _(下划线) 任何单一字符
'* or % 零个或多个字符
'# 任何单一数字(0 — 9)
'[charlist] 任何在字符表中的单一字符
'[!charlist] 任何不在字符表中的单一字符
'注:根据数据库的不同?、_和*、%的应用有所差别,比如SQL只使用% 和 _ 分别代表多个字符和单一字符
Sql = "select * from 表名 where 列名1='" & 字段 & "' ORDER BY 字段1 ASC" '对查询结果进行升序排列
Sql = "select * from 表名 where 列名1='" & 字段 & "' ORDER BY 字段1 DESC" '对查询结果进行降序排列
Sql = "select * from 表名 where 列名1='" & 字段 & "' ORDER BY 字段1 DESC, ORDER BY 字段2 DESC" '对查询结果进行多维降序排列(速度奇慢,不推荐使用)
3、Recordset集合的常用属性方法
==============================
rs.BOF '是否游标在最上边
rs.EOF '是否游标在最下边
rs.RecordCount '记录集的行数(如果使用像前类型的游标,可能返回不准确)
rs.AddNew '新建一行记录
rs.Update '保存当前行被修改的记录
rs.Delete '删除当前行
rs.Close '关闭记录集
4、Fields集合的一些属性的解释
=============================
'以下为简写,正常情况需要rs.Fileds.。。。但是Fields属于Recordset的一个默认集合,因此可以省略
rs() '括号内可以是列名也可以是列的序号例如:rs("姓名")、rs(3) 都是是可以的
rs(3).Name '返回列名
rs(3).Type '返回列的类型
rs(3).Value '返回当前行的值
rs.Fields.Count '返回列数
5. 如何用VB实现连接SQL数据库
一是:Public Function ConnectString() _
As String
ConnectString = "Provider=SQLOLEDB;User ID=用户;Password=密码;" & "Data Source=" + IP地址 + ";" & "Initial Catalog=数据库名" _
End Function
二是:
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
以上复制到模块“Mole1”中
三是:声明:
Dim ADO1 As Recordset
Option Explicit
Dim MsgText As String
Dim TXTSQL As String
四是:连接
TXTSQL = "select * from 表名"
Set ADO1 = ExecuteSQL(TXTSQL, MsgText)
ADO1.Requery
五是显示字段
Set Text1.DataSource = ADO1
Text1.DataField = "字段"
Set MSHFlexGrid1.DataSource = ADO1
6. VB连接SQL最简单方法
这一种方法是采用有源的方法与数据库连接的方法,代码如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用户名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
连接数据库的方法很多很多,只要各位去勇敢的偿试一下,就可以感觉数据库的方法并不是很难,本人以前也很想做这方法的工作,只是学识不深,未能完成胸中大志,如今对这些方法的多少有一些了解,特意为那些初学者以供学习之用。
7. VB如何连接SQL SERVER
打开“控制面板”→“管理工具”→“数据源 (ODBC)”后,出现窗体。 单击“系统DSN”选项卡后,点击“添加”按钮,出现窗体。 选择其中的“SQL Server”后,单击“完成”,出现窗体。 单击“下一步”,。选择“SQL Server验证”,一般ID为“sa”,密码为空(实际要根据具体情况输入)。 单击“下一步”。更改默认数据库为所建立的数据库。 单击“下一步”后完成设置。 (2)VB中使用ADO数据库控件,实现与数据库的连接 使用ADO数据库控件需要添加组件,控件工具箱中就出现需要的控件。 将控件放在需要的窗体中,。 鼠标右键调出ADODC属性,进行设置。在未建立数据源的情况下,也可进行“新建”或者使用第三个选择“使用连接字符串”。 数据源设立完毕,就需要设立身份验证和记录源。 以上设置也可在ADODC1控件的属性中进行设置(3)代码实现Public conn As ADODB.ConnectionPublic rs As ADODB.RecordsetPublic addFlag As Boolean '声明部分Public Function OpenCn(ByVal Cip As String, ByVal users As String, ByVal pw As String) As Boolean '连接模块 填写数据库等信息Dim mag As StringOn Error GoTo strerrmagSet conn = New ADODB.Connectionconn.ConnectionTimeout = 25conn.Provider = "sqloledb"conn.Properties("data source").Value = Cip '服务器的名字conn.Properties("initial catalog").Value = "pubs" '库名'conn.Properties("integrated security").Value = "SSPI" '登陆类型conn.Properties("user id").Value = users 'SQL库名conn.Properties("password").Value = pw '密码'sql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=;Initial Catalog=pubs;Data Source=127.0.0.1" '如果不用这个模块也行可以,这一句便是常用的引擎。'conn.ConnectionString = sql conn.OpenOpenCn = TrueIf conn.State = 1 Then addFlag = TrueExit Functionstrerrmag: mag = "Data can't connect" Call MsgBox(mag, vbOKOnly, "Error:Data connect") addFlag = False Exit Function '连接错误消息End Function'关闭数据库,释放连接Public Sub cloCn()On Error Resume NextIf conn.State <> adStateClosed Then conn.CloseSet conn = NothingEnd SubPublic Function openRs(ByVal strsql As String) As Boolean '连接数据库记录集Dim mag As StringDim rpy As BooleanOn Error GoTo strerrmag Set rs = New ADODB.Recordset If addFlag = False Then rpy = True With rs .ActiveConnection = conn .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open strsql End With addFlag = True openRs = True 'End '将记录集给rs Exit Functionstrerrmag: mag = "data not connect" Call MsgBox(mag, vbOKOnly, "error:connect") openRs = False End 'Exit Function '连接错误消息End FunctionPublic Sub cloRs()On Error Resume NextIf rs.State <> adStateClosed Then rs.CloneSet rs = Nothing '释放记录集End Sub
8. vb如何连接sql数据库
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。
9. VB怎么连接到Microsoft SQL Server数据库
VB.net
连接到Microsoft
SQL
Server数据库,
可以使用
VS2005及以上新版本,直接可视化操作,基本上不用手工编写任何代码,都可以实现基本的增加
修改
删除
查询等数据库操作。