Article ID: 194981
Article Last Modified on 3/14/2005
/* Create the Parent Table */
Create table TableA (id int NOT NULL,name varchar(10) NOT NULL)
/* Create the Child table */
Create table TableB (id int NOT NULL,name varchar(10) NOT NULL)
/* Add a row to TableA */
Insert into tableA values (1,'xxx')
go
/* Create trigger on TableA */
Create trigger TableA_trigger1 On TableA for delete as
delete TableB from TableB, deleted where TableB.id = deleted.id
Option Explicit
Private Sub Command1_Click()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strCnnODBC As String
Dim strCnnOLEDB As String
On Error goto err_trans
strCnnOLEDB = "Provider=SQLOLEDB.1;User ID=<user name>;Password=<strong password>" & _
"Initial Catalog=Pubs;Data Source=sujoy"
cnn.Open strCnnOLEDB
rst.CursorLocation = adUseClient
rst.Open "select * from tableA", cnn, _
adOpenStatic,adLockBatchOptimistic
rst.MoveFirst
rst.Delete adAffectCurrent 'Delete the Row from the Parent Table
cnn.BeginTrans
rst.UpdateBatch adAffectCurrent ' Error here
cnn.CommitTrans
cnn.Close
Exit Sub
err_trans:
Debug.Print Err.Number & " " &a Err.Description
cnn.RollbackTrans
cnn.Close
End Sub
Use Pubs
drop trigger TableA_trigger1
go
Create trigger TableA_trigger1 On TableA for delete
As
Set NOCOUNT ON
delete TableB from TableB, deleted where TableB.id =
deleted.id
Keywords: kbbug kbstoredproc kbdatabase kbprb kbpending KB194981