title: Why do I error out when trying to retrieve a result set with DotConnect components?
body: <p>With the code below I get, "ORA-01036: illegal variable name/number" on the call to ExecuteReader:</p>
  
  <pre><code>cmd.Parameters.Add("cur", Devart.Data.Oracle.OracleDbType.Cursor);
  cmd.Parameters["cur"].Direction = ParameterDirection.Output;
  Devart.Data.Oracle.OracleCursor oraCursor =
      (Devart.Data.Oracle.OracleCursor)cmd.Parameters["cur"].Value;
  Devart.Data.Oracle.OracleDataReader odr = cmd.ExecuteReader();
  while (odr.Read()) {
      ACurrentUserRoles.Add(odr.GetString(0));
  }
  </code></pre>
  
  <p>What I want to do is populate a List with the result of the query. I don't see any examples for that in DevArt's documentation (or googling). I had it working with Oracle's ODP components with:</p>
  
  <pre><code>OracleDataReader odr = cmd.ExecuteReader();
  while (odr.Read()) 
  {
      ACurrentUserRoles.Add(odr.GetString(0));
  }
  </code></pre>
  
  <p>...but can't find the parallel working with DotConnect components.</p>
  
  <p>Updated:</p>
  
  <p>Okay, here's the entire method (ACurrentUserRoles is a List of Strings):</p>
  
  <pre><code>public void PopulateCurrentUserRoles(String AUserName, List&lt;String&gt; ACurrentUserRoles) {
    _UserName = AUserName;
  
    String query = "select roleid from ABCrole where ABCid = :ABCID";
    Devart.Data.Oracle.OracleCommand cmd = new Devart.Data.Oracle.OracleCommand(query, con);
    cmd.CommandType = CommandType.Text;
    int _ABCID = GetABCIDForUserName();
    cmd.Parameters.Add("ABCID", _ABCID);
    cmd.Parameters["ABCID"].Direction = ParameterDirection.Input;
    cmd.Parameters["ABCID"].DbType = DbType.String;
    cmd.Parameters.Add("cur", Devart.Data.Oracle.OracleDbType.Cursor);
    cmd.Parameters["cur"].Direction = ParameterDirection.Output;
    //cmd.ExecuteNonQuery(); blows up: "illegal variable name/number"
    //cmd.ExecuteCursor();   " "
    //cmd.ExecuteReader();   " "
    Devart.Data.Oracle.OracleCursor oraCursor =
      (Devart.Data.Oracle.OracleCursor)cmd.Parameters["cur"].Value;
    Devart.Data.Oracle.OracleDataReader odr = oraCursor.GetDataReader(); // "Object reference not set to an instance of an object"
    while (odr.Read()) {
      ACurrentUserRoles.Add(odr.GetString(0));
    }
  }
  </code></pre>
  
  <p>The err msgs I'm getting are appended as comments to the lines where they occur.</p>