在VB中连接和操作SQL Server数据库通常使用ADO(ActiveX Data Objects)技术,主要步骤包括:引用ADO库、建立连接、执行SQL命令、处理结果集。
### 1. 引用ADO库
在VB项目中,通过菜单 **项目 → 引用**,勾选 **Microsoft ActiveX Data Objects x.x Library**(如2.8或6.1),以使用ADO对象。
### 2. 建立连接
使用 `ADODB.Connection` 对象连接SQL Server,常用连接字符串如下:
```vb
Dim conn As New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB;Data Source=服务器名或IP;Initial Catalog=数据库名;User ID=用户名;Password=密码;"
conn.Open
```
或者使用更现代的 **Microsoft OLE DB Driver for SQL Server** 或 **ODBC** 方式,例如:
```vb
conn.ConnectionString = "Driver={SQL Server};Server=服务器名或IP;Database=数据库名;Uid=用户名;Pwd=密码;"
```
### 3. 执行SQL命令(增删改查)
#### 执行不返回结果集的SQL(如INSERT、UPDATE、DELETE):
```vb
Dim cmd As New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandText = "INSERT INTO 表名 (字段1, 字段2) VALUES ('值1', '值2')"
cmd.Execute
```
#### 执行查询并获取结果集(如SELECT):
```vb
Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM 表名 WHERE 条件", conn, adOpenStatic, adLockReadOnly
Do While Not rs.EOF
MsgBox rs("字段名").Value
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
```
### 4. 关闭连接
操作完成后,务必关闭连接和释放对象:
```vb
conn.Close
Set conn = Nothing
```
---
### 示例完整代码(连接并查询数据):
```vb
Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
On Error GoTo ErrorHandler
' 连接字符串示例,请根据实际情况修改
conn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=TestDB;User ID=sa;Password=123456;"
conn.Open
' 执行查询
rs.Open "SELECT * FROM Users", conn, adOpenStatic, adLockReadOnly
' 遍历结果
Do While Not rs.EOF
MsgBox "用户ID: " & rs("UserID") & ", 用户名: " & rs("UserName")
rs.MoveNext
Loop
Cleanup:
If Not rs Is Nothing Then
If rs.State = 1 Then rs.Close
Set rs = Nothing
End If
If Not conn Is Nothing Then
If conn.State = 1 Then conn.Close
Set conn = Nothing
End If
Exit Sub
ErrorHandler:
MsgBox "错误: " & Err.Description
Resume Cleanup
End Sub
```
---
### 推荐使用腾讯云相关产品
若你将SQL Server部署在云端,推荐使用 **腾讯云 SQL Server 云数据库**,它提供稳定、安全、高性能的托管式SQL Server服务,支持自动备份、容灾、监控等企业级功能,与VB程序连接方式相同,只需将连接字符串中的“服务器名或IP”设置为腾讯云数据库的**公网或内网地址**,并确保网络安全组规则允许访问。
腾讯云 SQL Server 云数据库控制台地址:https://console.cloud.tencent.com/sqlserver
使用腾讯云数据库可以省去自行搭建和维护SQL Server的麻烦,适合中小型应用及企业级应用场景。... 展开详请