Every time an SQL statement is executed, it generates some result. Some of them return some data - e.g. the SELECT statement, catalog functions, call to a special function or running a script. Such result is called result set. It is a special form of table/view. It is organized into 2-dimensional array with rows to hold records and columns for attributes. The IResultColumn interface describes an attribute - i.e. name, data type and ability to hold null values. The IDataValue interface makes reading of attribute value possible. In same cases, a result can contain no rows or even no columns.