ADODB.Connection ExecuteComplete() event fires before stored procedure is really complete

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
VB.Net, VS 2010, windows forms application:
<pre class="prettyprint lang-vb Public Class Form1
Dim WithEvents conn As ADODB.Connection
Dim cmdtext As String
Dim WithEvents cmd As ADODB.Command
Dim res As ADODB.Recordset
Dim count As Int64
Dim start As Date
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
conn = New ADODB.Connection With { _
.ConnectionString = "Provider=SQLOLEDB.1;Password=mypwd;Persist Security Info=True;User ID=myuser;Initial Catalog=myDB;Data Source=myServer" _
, .CommandTimeout = 120
}
conn.Open()
cmdtext = "myProc"
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
cmd = New ADODB.Command With { _
.ActiveConnection = conn _
, .CommandTimeout = 120 _
, .CommandText = cmdtext _
, .CommandType = ADODB.CommandTypeEnum.adCmdStoredProc _
}
cmd.Parameters.Refresh()
cmd.Parameters(1).Value = "val1"
cmd.Parameters(2).Value = "val2"
start = Date.Now
cmd.Execute()
End Sub
Private Sub conn_ExecuteComplete(RecordsAffected As Integer, pError As ADODB.Error, ByRef adStatus As ADODB.EventStatusEnum, pCommand As ADODB.Command, pRecordset As ADODB.Recordset, pConnection As ADODB.Connection) Handles conn.ExecuteComplete
SQL Profiler RPC:Completed duration = 4178 (4,178 seconds). ExecuteComplete() fires in 1,499 seconds ????
Label1.Text = "Complete " + (Date.Now - start).ToString()

End Sub
End Class[/code]
I watch SQL Profiler RPC:Completed event and it says duration = 4178 (4,178 seconds). While ExecuteComplete() fires in 1,499 seconds . And really no return code is returned to VB.
What Im missing? <hr class="sig Serg

View the full article
 
Back
Top