新的 ADODB 记录集是否创建新连接?
Do new ADODB recordSet's create a new connection?
我想避免创建多个并发连接,但我不知道如何判断幕后发生的事情。
例如
Sub TestConnections()
Dim conn As ADODB.Connection
Dim qry1 As String
Dim qry2 As String
Dim rs1 As New ADODB.RecordSet
Dim rs2 As New ADODB.RecordSet
conn = New ADODB.Connection
conn.ConnectionString = "<insert connection details>"
conn.open(conn.ConnectionString)
qry1 = "SELECT * FROM SomeTable;"
qry2 = "SELECT * FROM SomeOtherTable;"
rs1.Open(qry1,conn)
rs2.Open(qry2,conn)
End
我现在是否有两个打开的连接,或者这两个打开的记录集共享同一个连接?
他们将共享同一个连接,并为不同的查询保留 2 个记录集。
这是因为连接对象是发送查询的实际连接,并且由于它传递的是同一个对象,所以处理这两个查询的是同一个连接,尽管返回并存储了记录集进入不同的变量。
我想避免创建多个并发连接,但我不知道如何判断幕后发生的事情。
例如
Sub TestConnections()
Dim conn As ADODB.Connection
Dim qry1 As String
Dim qry2 As String
Dim rs1 As New ADODB.RecordSet
Dim rs2 As New ADODB.RecordSet
conn = New ADODB.Connection
conn.ConnectionString = "<insert connection details>"
conn.open(conn.ConnectionString)
qry1 = "SELECT * FROM SomeTable;"
qry2 = "SELECT * FROM SomeOtherTable;"
rs1.Open(qry1,conn)
rs2.Open(qry2,conn)
End
我现在是否有两个打开的连接,或者这两个打开的记录集共享同一个连接?
他们将共享同一个连接,并为不同的查询保留 2 个记录集。
这是因为连接对象是发送查询的实际连接,并且由于它传递的是同一个对象,所以处理这两个查询的是同一个连接,尽管返回并存储了记录集进入不同的变量。