前言:
此时大家对“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数据库