龙空技术网

vba 连接sqlserver

探索3000 188

前言:

此时大家对“vba查询sqlserver数据库”大体比较注重,你们都想要分析一些“vba查询sqlserver数据库”的相关资讯。那么小编在网摘上网罗了一些对于“vba查询sqlserver数据库””的相关资讯,希望兄弟们能喜欢,你们快快来学习一下吧!

连接数据库:

Dim conn As New ADODB.Connection

Dim strConn As String

strConn = "Provider=SQLOLEDB;Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;User ID=USERNAME;Password=PASSWORD;"

conn.Open strConn

其中,SERVER_NAME 是 SQL Server 的名称或 IP 地址,DATABASE_NAME 是要连接的数据库名称,USERNAME 和 PASSWORD 是连接数据库所需的凭据。

接下来,您可以使用 ADODB.Recordset 对象来执行 SQL 查询并获取结果。以下是一个示例代码,用于执行 SELECT 查询并将结果输出到 Excel 工作表:

Dim rs As New ADODB.Recordset

Dim strSQL As String

Dim i As Integer

strSQL = "SELECT * FROM TABLE_NAME"

rs.Open strSQL, conn

For i = 0 To rs.Fields.Count - 1

Worksheets("Sheet1").Cells(1, i + 1).Value = rs.Fields(i).Name

Next i

Worksheets("Sheet1").Range("A2").CopyFromRecordset rs

rs.Close

其中,TABLE_NAME 是要查询的表的名称,Sheet1 是要输出结果的 Excel 工作表的名称。

要执行 INSERT、UPDATE 或 DELETE 操作,您可以使用 ADODB.Command 对象并执行 Execute 方法。以下是一个示例代码,用于执行 INSERT 操作:

Dim cmd As New ADODB.Command

Dim strSQL As String

strSQL = "INSERT INTO TABLE_NAME (COLUMN1, COLUMN2) VALUES ('VALUE1', 'VALUE2')"

cmd.ActiveConnection = conn

cmd.CommandText = strSQL

cmd.Execute

其中,TABLE_NAME 是要插入数据的表的名称,COLUMN1 和 COLUMN2 是要插入数据的列的名称,VALUE1 和 VALUE2 是要插入的值。

以下是使用 ADODB.Command 对象执行 UPDATE 或 DELETE 操作的示例代码:

Dim cmd As New ADODB.Command

Dim strSQL As String

strSQL = "UPDATE TABLE_NAME SET COLUMN1 = 'NEW_VALUE' WHERE CONDITION"

cmd.ActiveConnection = conn

cmd.CommandText = strSQL

cmd.Execute

其中,TABLE_NAME 是要更新的表的名称,COLUMN1 是要更新的列的名称,NEW_VALUE 是要更新的新值,CONDITION 是更新的条件。

要执行 DELETE 操作,可以使用类似的代码,只需将 UPDATE 改为 DELETE 并删除 SET 子句即可:

Dim cmd As New ADODB.Command

Dim strSQL As String

strSQL = "DELETE FROM TABLE_NAME WHERE CONDITION"

cmd.ActiveConnection = conn

cmd.CommandText = strSQL

cmd.Execute

其中,TABLE_NAME 是要删除的表的名称,CONDITION 是删除的条件。

标签: #vba查询sqlserver数据库