The design of the OLE DB APIs is similar to the APIs provided by ODBC and other ISAM APIs. The APIs are handle-based. After opening a file, the application can determine the buffer size required to store a row, use the cursor APIs to move, and optionally retrieve one or more rows of data using the row-level binding.
Data is converted to default C data types as defined in ODBC, as illustrated in the following table:
| Host data type | Default C data type |
|---|---|
| Binary | unsigned char binary[] |
| Character | char string[] |
| Date (in character format) | date struct |
| Double | double |
| Long | int |
| Packed | unsigned char number[] |
| Short | short |
| Single | float |
| Time (in character format) | time struct |
| Time Stamp (in character format) | timestamp struct |
| Variable Binary | unsigned char binary[] |
| Variable Character | char string[] |
| Zoned | unsigned char number[] |