当前位置:首页 » 编程语言 » vb怎样连接sql数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

vb怎样连接sql数据库

发布时间: 2022-08-05 16:38:14

A. VB连接sql数据库

要连接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

B. 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 '返回列数

C. VB如何连接SQL数据库

一个用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

只要在你的标准模块中加入该代码,你就可以使用其中的函数来连接数据源了。

D. 用vb怎么连接SQL数据库

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\你数据库的名称"

Dim strquery As String
strquery = "select * from Table_Users where 用户名='" & Trim(Text1.Text) & "'and 密码= '" & Trim(Text2.Text) & "'"
Adodc1.RecordSource = strquery
Adodc1.Refresh

这样应该就ok了 希望能帮到你

E. 如何用vb链接sql的数据库

这段代码写在模块中,可以连接一个数据库

Public
DBConnct
As
New
ADODB.Connection
'连接数据库

Public
Function
Connt()
As
Boolean
'数据库连接函数
Dim
splstr
As
String
'App.Path
&
"\db\123.mdb为数据库路径
splstr
=
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="
& App.Path
&
"\db\123.mdb"
& ";Persist
Security
Info=False"
DBConnct.Open
splstr
'连接数据库
Connt
=
True
End
Function

F. vb怎么连接sql

在窗体上添加adodc控件
鼠标右键-adodc属性-在通用选项卡里,点生成,选for
SQL
Server驱动程序-下一步-连接选项卡里
1.输入服务器名称,2.使用Windows
NT
集成安全设置。3.选择一个数据库
点测试连接,看看是否成功。按确定
点记录源选项卡,命令类型选8,命令文本(SQL)写:select
*
from
table1
确定,就连接到SQL数据库的表table1了。
Private
Sub
Command1_Click()
If
Not
Adodc1.Recordset.EOF
Then
Text1.Text
=
Adodc1.Recordset.Fields("line1")
End
If
End
Sub

G. vb如何连接SQL数据库

第一步:定义数据库连接对象
Public Cnn As New ADODB.Connection
第二步:给连接对象字符串赋值,这个格式是固定的
Cnn.ConnectionString = "Driver={SQLServer};Server=sql数据库服务器地址及名称;Database=数据库名称;Uid=数据库用户名;Pwd=数据库登录密码
举例:
Cnn.ConnectionString = "Driver={SQL Server};Server=win\DB;Database=dbN;Uid=sa;Pwd=sa"
第三步:打开数据库
Cnn.Open
三大部就连起来了,下来就可以直接用ADO访问记录集对象了。
上边讲的三大部简单实用,当让你要想熟练实用数据库,手头必须有本书哦!

H. VB连接SQL

问题补充:
“我想知道相对地址连接~~是SQL
移到的机子上不装SQL那怎么办??”
1、SQL数据库连接必须是服务器,不用地址,因为在安装SQL
Server
2000
后,你的数据库地址已经确定;
2、在一般情况下不安装是不可以的,对于Access数据库现在的操作系统有其驱动,而没有SQL的,除非使用网络,例如局域网。
SQL
SERVER
2000
数据库代码比较简单,无非数据库连接语句不同,其他和Access数据库没有大的区别。
如果“程序要移动到其他机子上”,移动到的机子上必须同样安装SQL
SERVER
2000
数据库,而且服务器名称、数据库名称必须和原服务器名称、数据库名称相同,如果有数据库密码,必须保持一致。
下面是SQL数据库连接代码,请参考:
Public
conn
As
New
ADODB.Connection
conn.ConnectionString
=
"driver={SQL
Server};server=服务器名称;uid=sa;pwd=密码;database=数据库名称"
conn.Open