Search code examples
c#mdxadomd.net

ADOMDCommand ExecuteCellSet vs ExecuteReader


What are the major differences between ADOMD ExecuteReader and ExecuteCellSet method ?

I understand that ExecutecellSet will return a cell set where as ExecuteReader will return flattened recordsets. At the end what I need is a DataTable which contains the flattened data.

Do both of the methods return the same data? As I have seen people writing CellSet to DataTable coneversion methods.


Solution

  • ExecuteReader will return a table of the 'raw' values, whereas each Cell of a CellSet contains both the raw and the formatted value.

    As an example, if you have a measure that is formatted as a percentage, the raw value might be 0.156 while the formatted value is 15.6%. This means you'll have to redo the formatting in your presentation layer, which may be a pain if you're using multiple currency symbols or complex formatting in your cube.