The ICatalogStatement Interface

 

 

typedef enum tagsqlDataType
{
  sqlString = 0, 
  sqlInteger = 1, 
  sqlDouble = 2, 
  sqlBoolean = 3, 
  sqlBinaryData = 4, 
  sqlDateTime = 5
} sqlDataType

 

interface ICatalogStatement: IResultSetStatement
{
 [propget, id(0x00000003), helpstring("True if the data type is supported.")]
  HRESULT _stdcall DataTypeSupported([in] sqlDataType DataType, [out, retval] VARIANT_BOOL * Value );

 [id(0x00000005), helpstring("Initiates enumeration of tables (, views & so on).")]
  HRESULT _stdcall Tables([in] BSTR CatalogName, [in] BSTR SchemaName, [in] BSTR TableName, [in] BSTR TableType );

 [id(0x00000007), helpstring("Initiates enumeration of properties of specified column(s).")]
  HRESULT _stdcall Columns([in] BSTR CatalogName, [in] BSTR SchemaName, [in] BSTR TableName, [in] BSTR ColumnName );

 [id(0x00000008), helpstring("Initiates enumeration of statistics data of specified table.")]
  HRESULT _stdcall Statistics([in] BSTR CatalogName, [in] BSTR SchemaName, [in] BSTR TableName, [in] VARIANT_BOOL AllIndexes );

 [id(0x00000009), helpstring("Initiates enumeration of primary keys of specified table.")]
  HRESULT _stdcall PrimaryKeys([in] BSTR CatalogName, [in] BSTR SchemaName, [in] BSTR TableName );

 [id(0x0000000A), helpstring("Initiates enumeration of foreign keys of specified table.")]
  HRESULT _stdcall ForeignKeys([in] BSTR PKCatalogName, [in] BSTR PKSchemaName, [in] BSTR PKTableName, [in] BSTR FKCatalogName, [in] BSTR FKSchemaName, [in] BSTR FKTableName );

 [id(0x0000000B), helpstring("Initiates enumeration of supported data types.")]
  HRESULT _stdcall DataTypes( void );
}

The object implementing the ICatalogStatement interface gives an access to the database catalog data. All methods act as an SQL statement execution; i.e. each method generates a result set containing asked catalog data. The only exception to this rule is the DataTypeSupported property. Because Sequel uses a set of standard data types mapped to the driver specific data types, it could be difficult for you to find whether a certain data type is supported or not. For this reason the DataTypeSupported property is implemented.