The command is in an invalid state. Either the ULCommand.Connection is missing or closed, the ULCommand.Transaction
value does not match the current transaction state of the connection, or the ULCommand.CommandText is invalid.
The statement is the current ULCommand object, with the ULCommand.CommandText and any ULCommand.Parameters as required. The
ULDataReader object is a read-only result set. For editable result sets, use ULCommand.ExecuteResultSet(), ULCommand.ExecuteTable(),
or a ULDataAdapter.
If the ULCommand.CommandType is System.Data.CommandType.TableDirect, ExecuteReader performs an ULCommand.ExecuteTable() and
returns a ULTable downcast as a ULDataReader.
SELECT statements are marked as read-only by default for performance reasons. If the query is going to be used to make updates,
the statement must end with " FOR UPDATE".
This is the strongly-typed version of System.Data.IDbCommand.ExecuteReader() and System.Data.Common.DbCommand.ExecuteReader().