ExecuteReader requires command to have transaction when connection assigned to command is in pending

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
<font face=Arial size=2><font color="#0000ff" size=2>
<font color="#000000 Any ideas on how I handle the following error thrown in the SqlDataAdapter.Fill as a result of the BeginTrans in the callee?  Thank you. Greg</font>
<p align=left> <font color="#000000 </font>  
<p align=left> <font color="#ff0000 System.InvalidOperationException = {"ExecuteReader requires the command to have a transaction when the connection assigned to the command is in a pending local transaction.  The Transaction property of the command has not been initialized."}</font>
<p align=left> <font color="#000000 </font>  
<p align=left><font color="#000000    Public conn As New System.Data.SqlClient.SqlConnection</font>
<p align=left> 
<p align=left><font color="#000000    frmMain</font>
<p align=left>       <font color="#000000 Private Sub</font> <font color="#000000 SaveStuff() </font>
<font color="#000000             Dim objstuff As New CStuff
              conn.Open() </font>
<p align=left><font color="#000000              Save (objstuff )
             conn.Close() </font>
<p align=left><font color="#000000       End Sub</font>
<p align=left> 
<p align=left><font color="#000000     Public Function Save (ByRef obj As CStuff) As Object</font>
<p align=left><font color="#000000 <font color="#0000ff         Dim sqlTran As SqlClient.SqlTransaction = conn.BeginTransaction() </font>
           <font size=3>db_SaveObject</font> (obj, conn)</font>
<p align=left><font color="#000000    End Function</font>
<p align=left> 
<p align=left><font color="#000000 Public Function <font size=3>db_SaveObject</font> (ByRef Obj As IDBObject, ByRef conn As System.Data.SqlClient.SqlConnection)
  Dim myDataSet As DataSet = New DataSet()
  Dim myDataRow As DataRow
  Dim myDataRowsCommandBuilder As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(SqlDataAdapter)
   
  SqlDataAdapter = New SqlClient.SqlDataAdapter("select top 1 * from " & strTable, conn)
</font><font color="#ff0000" size=3>  SqlDataAdapter.Fill(myDataSet, strTable)     <--- error gets thrown here. </font>
<p align=left> <font color="#000000" size=3>...</font>
<p align=left><font color="#000000 End Function</font>
<p align=left> <font color="#ff0000" size=3></font>  
<p align=left><font color="#ff0000 </font> 
<p align=left><font color="#000000" size=2>  </font></font><font size=2></font></font>

View the full article
 
Back
Top