Here's what I have:

VB Code:
  1. Public Function UseSQLDBExecuteReader() As SqlDataReader
  2.         Dim lRead As SqlDataReader
  3.         If mSQLDBCmd Is Nothing Then
  4.             Throw New Exception("Must use SetSQLDBCommand to initialize SQLCommand object!")
  5.             Exit Function
  6.         End If
  7.         If mSQLDBConnector Is Nothing  Then
  8.             mSQLDBConnector = New SqlConnection(mSQLDBConnString)
  9.             mSQLDBConnector.Open()
  10.         else
  11.             If Not IsSQLDBOpen()  then
  12.                 mSQLDBConnector.Open()
  13.             end if
  14.         End If
  15.         Try
  16.             With mSQLDBCmd
  17.                 .Connection = mSQLDBConnector
  18.                 lRead = mSQLDBCmd.ExecuteReader(CommandBehavior.CloseConnection)
  19.             End With
  20.            
  21.         Catch ex As Exception
  22.                       Throw New Exception(ex.ToString())
  23. Finally
  24.             mSQLDBCmd.Dispose()
  25.             mSQLDBCmd = Nothing
  26.      '       mSQLDBConnector.Close()
  27.       '      mSQLDBConnector = Nothing
  28.      
  29.         End Try
  30. Return lRead
  31.     End Function

And the calling code:

VB Code:
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Dim db As New Database.SQLDatabase("User ID=QuikFix;Password=ibm123;Initial Catalog=QuikFix;Data Source=HERCULES;")
  3.  
  4.         Dim dr As SqlDataReader
  5.         Dim da As SqlDataAdapter
  6.         Dim ds As DataSet
  7.  
  8.         db.SetSQLDBCommand("select_ticket_by_id") 'pass procedure name
  9.         db.AddSQLDBCmdParameter("@TicketID", SqlDbType.BigInt, 3357) 'pass a parameter
  10.         dr = db.UseSQLDBExecuteReader() 'grab the data
  11.  
  12.         If dr.HasRows() Then
  13.             While dr.Read()
  14.                 MsgBox(dr("TicketID"))
  15.             End While
  16.             dr.Close()
  17.         End If
  18.  
  19.  
  20.         db.SetSQLDBCommand("select_ticket_ids") 'another procedure
  21.         db.AddSQLDBCmdParameter("@ClientID", SqlDbType.Int, 1) 'parameters
  22.         db.AddSQLDBCmdParameter("@FacilityID", SqlDbType.BigInt, 1)
  23.         db.AddSQLDBCmdParameter("@bOpen", SqlDbType.Bit, 1)
  24.         db.AddSQLDBCmdParameter("@bOnHold", SqlDbType.Bit, 1)
  25.  
  26.         dr = db.UseSQLDBExecuteReader() 'execute it
  27.  
  28.         While dr.Read()
  29.             MsgBox(dr("TicketID"))
  30.         End While
  31.         dr.Close()
  32.  
  33.        
  34.     End Sub

And that works for you ? So why doesnt it work for me ???