Publish date: 2003-01-17
ActiveX Components. Clone of connection in ADODB (VB)
'Sample of work with ActiveX component 'IBPSamples.TADOConnectionClone'
'1 download _ibp_sample_obj.dll from www.ibprovider.com
'2 execute: regsvr32 _ibp_sample_obj.dll
'3 add in your VB-project the reference to 'LCPI - IBProvider Samples' library
Sub sample_9_2()
Dim cn1 As New ADODB.Connection
Dim cn_clone As New IBPSamples.TADOConnectionClone
cn1.Provider = "LCPI.IBProvider"
cn1.Open "main:e:\database\employee.gdb", "gamer", "vermut"
cn_clone.Connection = cn1
'build ADOConnection object for exists connection, but separate transaction
Dim cn2 As ADODB.Connection
Set cn2 = cn_clone.Clone
'Check that we work in different transactions
cn1.BeginTrans
cn2.BeginTrans
Dim cmd1 As New ADODB.Command
Dim cmd2 As New ADODB.Command
cmd1.ActiveConnection = cn1
cmd2.ActiveConnection = cn2
'TRANS 1: insert new country
cmd1.CommandText = "insert into country (country,currency) values(:a,:b)"
cmd1("a") = "Mars"
cmd1("b") = "Snickers"
cmd1.Execute
'TRANS 2: select mars+snickers
cmd2.CommandText = "select count(*) from country where country=:a and currency=:b"
cmd2("a").Value = cmd1("a").Value
cmd2("b").Value = cmd1("b").Value
If (cmd2.Execute.Fields(0).Value <> 0) Then Err.Raise -1, , "BUG: We select NOT EMPTY recordset"
Debug.Print "OK"
End Sub 'sample_9_2
