isql.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:5k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /* Modified isql.h file from iodbc. This file should be placed in the
  2. * include path to be used to create ODBC compliant applications.
  3. */
  4. #ifndef _INTRINSIC_SQL_H
  5. # define _INTRINSIC_SQL_H
  6. typedef unsigned char UCHAR;
  7. typedef long int SDWORD;
  8. typedef short int SWORD;
  9. typedef unsigned long int UDWORD; 
  10. typedef unsigned short int UWORD;
  11. typedef void FAR* PTR;
  12. typedef void FAR* HENV;
  13. typedef void FAR* HDBC;
  14. typedef void FAR* HSTMT;
  15. typedef signed short RETCODE;
  16. # ifdef WIN32
  17. #   define SQL_API __stdcall
  18. # else
  19. #   define SQL_API EXPORT CALLBACK
  20. # endif
  21. # define ODBCVER 0x0200
  22. # define SQL_MAX_MESSAGE_LENGTH 512
  23. # define SQL_MAX_DSN_LENGTH 32
  24. /* return code */
  25. # define SQL_INVALID_HANDLE (-2)
  26. # define SQL_ERROR (-1)
  27. # define SQL_SUCCESS  0
  28. # define SQL_SUCCESS_WITH_INFO 1
  29. # define SQL_NO_DATA_FOUND 100
  30. /* standard SQL datatypes (agree with ANSI type numbering) */
  31. # define SQL_CHAR 1
  32. # define SQL_NUMERIC  2
  33. # define SQL_DECIMAL  3
  34. # define SQL_INTEGER  4
  35. # define SQL_SMALLINT 5
  36. # define SQL_FLOAT 6
  37. # define SQL_REAL 7
  38. # define SQL_DOUBLE 8
  39. # define SQL_VARCHAR  12
  40. # define SQL_TYPE_MIN SQL_CHAR
  41. # define SQL_TYPE_NULL 0
  42. # define SQL_TYPE_MAX SQL_VARCHAR
  43. /* C to SQL datatype mapping */
  44. # define SQL_C_CHAR SQL_CHAR
  45. # define SQL_C_LONG SQL_INTEGER
  46. # define SQL_C_SHORT    SQL_SMALLINT
  47. # define SQL_C_FLOAT    SQL_REAL
  48. # define SQL_C_DOUBLE SQL_DOUBLE
  49. # define SQL_C_DEFAULT  99
  50. # define SQL_NO_NULLS 0
  51. # define SQL_NULLABLE 1
  52. # define SQL_NULLABLE_UNKNOWN 2
  53. /* some special length values */
  54. # define SQL_NULL_DATA (-1)
  55. # define SQL_DATA_AT_EXEC (-2)
  56. # define SQL_NTS  (-3)
  57. /* SQLFreeStmt flag values */
  58. # define SQL_CLOSE 0
  59. # define SQL_DROP 1
  60. # define SQL_UNBIND 2
  61. # define SQL_RESET_PARAMS 3
  62. /* SQLTransact flag values */
  63. # define SQL_COMMIT 0
  64. # define SQL_ROLLBACK 1
  65. /* SQLColAttributes flag values */
  66. # define SQL_COLUMN_COUNT             0
  67. # define SQL_COLUMN_LABEL 18
  68. # define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL
  69. # define SQL_COLUMN_DRIVER_START 1000
  70. # define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT
  71. /* Null handles */
  72. # define SQL_NULL_HENV 0
  73. # define SQL_NULL_HDBC 0
  74. # define SQL_NULL_HSTMT 0
  75. /* All code below has been added to the original isql.h coming from iodbc */
  76. typedef unsigned char BYTE;
  77. /* More SQLColAttributes flag values */
  78. #define SQL_COLUMN_NAME 1
  79. #define SQL_COLUMN_TYPE 2
  80. #define SQL_COLUMN_LENGTH 3
  81. #define SQL_COLUMN_PRECISION 4
  82. #define SQL_COLUMN_SCALE 5
  83. #define SQL_COLUMN_DISPLAY_SIZE 6
  84. #define SQL_COLUMN_NULLABLE 7
  85. #define SQL_COLUMN_UNSIGNED 8
  86. #define SQL_COLUMN_MONEY 9
  87. #define SQL_COLUMN_UPDATABLE 10
  88. #define SQL_COLUMN_AUTO_INCREMENT 11
  89. #define SQL_COLUMN_CASE_SENSITIVE 12
  90. #define SQL_COLUMN_SEARCHABLE 13
  91. #define SQL_COLUMN_TYPE_NAME 14
  92. #define SQL_COLUMN_TABLE_NAME 15
  93. #define SQL_COLUMN_OWNER_NAME 16
  94. #define SQL_COLUMN_QUALIFIER_NAME 17
  95. /* SQLColAttributes Searchable flags */
  96. #define SQL_UNSEARCHABLE 0
  97. #define SQL_LIKE_ONLY 1
  98. #define SQL_ALL_EXCEPT_LIKE 2
  99. #define SQL_SEARCHABLE 3
  100. #define SQL_PRED_SEARCHABLE SQL_SEARCHABLE
  101. /* SQLColAttributes Updateable flags */
  102. #define SQL_ATTR_READONLY 0
  103. #define SQL_ATTR_WRITE 1
  104. #define SQL_ATTR_READWRITE_UNKNOWN 2
  105. /*
  106.  *  function prototypes previously not contained in isql.h
  107.  */
  108. #ifdef __cplusplus
  109. extern "C"
  110. {
  111. #endif
  112. RETCODE SQL_API SQLAllocConnect (HENV henv,
  113. HDBC FAR * phdbc);
  114. RETCODE SQL_API SQLAllocEnv (HENV FAR * phenv);
  115. RETCODE SQL_API SQLAllocStmt (HDBC hdbc,
  116. HSTMT FAR * phstmt);
  117. RETCODE SQL_API SQLBindCol (HSTMT hstmt,
  118. UWORD icol,
  119. SWORD fCType,
  120. PTR rgbValue,
  121. SDWORD cbValueMax,
  122. SDWORD FAR * pcbValue);
  123. RETCODE SQL_API SQLCancel (HSTMT hstmt);
  124. RETCODE SQL_API SQLColAttributes (HSTMT hstmt,
  125. UWORD icol,
  126. UWORD fDescType,
  127. PTR rgbDesc,
  128. SWORD cbDescMax,
  129. SWORD FAR * pcbDesc,
  130. SDWORD FAR * pfDesc);
  131. RETCODE SQL_API SQLConnect (HDBC hdbc,
  132. UCHAR FAR * szDSN,
  133. SWORD cbDSN,
  134. UCHAR FAR * szUID,
  135. SWORD cbUID,
  136. UCHAR FAR * szAuthStr,
  137. SWORD cbAuthStr);
  138. RETCODE SQL_API SQLDescribeCol (HSTMT hstmt,
  139. UWORD icol,
  140. UCHAR FAR * szColName,
  141. SWORD cbColNameMax,
  142. SWORD FAR * pcbColName,
  143. SWORD FAR * pfSqlType,
  144. UDWORD FAR * pcbColDef,
  145. SWORD FAR * pibScale,
  146. SWORD FAR * pfNullable);
  147. RETCODE SQL_API SQLDisconnect (HDBC hdbc);
  148. RETCODE SQL_API SQLError (HENV henv,
  149. HDBC hdbc,
  150. HSTMT hstmt,
  151. UCHAR FAR * szSqlState,
  152. SDWORD FAR * pfNativeError,
  153. UCHAR FAR * szErrorMsg,
  154. SWORD cbErrorMsgMax,
  155. SWORD FAR * pcbErrorMsg);
  156. RETCODE SQL_API SQLExecDirect (HSTMT hstmt,
  157. UCHAR FAR * szSqlStr,
  158. SDWORD cbSqlStr);
  159. RETCODE SQL_API SQLExecute (HSTMT hstmt);
  160. RETCODE SQL_API SQLFetch (HSTMT hstmt);
  161. RETCODE SQL_API SQLFreeConnect (HDBC hdbc);
  162. RETCODE SQL_API SQLFreeEnv (HENV henv);
  163. RETCODE SQL_API SQLFreeStmt (HSTMT hstmt,
  164. UWORD fOption);
  165. RETCODE SQL_API SQLGetCursorName (HSTMT hstmt,
  166. UCHAR FAR * szCursor,
  167. SWORD cbCursorMax,
  168. SWORD FAR * pcbCursor);
  169. RETCODE SQL_API SQLNumResultCols (HSTMT hstmt,
  170. SWORD FAR * pccol);
  171. RETCODE SQL_API SQLPrepare (HSTMT hstmt,
  172. UCHAR FAR * szSqlStr,
  173. SDWORD cbSqlStr);
  174. RETCODE SQL_API SQLRowCount (HSTMT hstmt,
  175. SDWORD FAR * pcrow);
  176. RETCODE SQL_API SQLSetCursorName (HSTMT hstmt,
  177. UCHAR FAR * szCursor,
  178. SWORD cbCursor);
  179. RETCODE SQL_API SQLTransact (HENV henv,
  180. HDBC hdbc,
  181. UWORD fType);
  182. RETCODE SQL_API SQLSetParam (HSTMT hstmt,
  183. UWORD ipar,
  184. SWORD fCType,
  185. SWORD fSqlType,
  186. UDWORD cbColDef,
  187. SWORD ibScale,
  188. PTR rgbValue,
  189. SDWORD FAR * pcbValue);
  190. #ifdef __cplusplus
  191. }
  192. #endif
  193. #endif