ib_odbc.h
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /******************************************************
  2. Innobase ODBC client library header; this is equivalent to
  3. the standard sql.h ODBC header file
  4. (c) 1998 Innobase Oy
  5. Created 2/22/1998 Heikki Tuuri
  6. *******************************************************/
  7. #ifndef ib_odbc_h
  8. #define ib_odbc_h
  9. typedef unsigned char       UCHAR;
  10. typedef signed char         SCHAR;
  11. typedef long int            SDWORD;
  12. typedef short int           SWORD;
  13. typedef unsigned long int   UDWORD;
  14. typedef unsigned short int  UWORD;
  15. typedef void*               PTR;
  16. typedef void*               HENV;
  17. typedef void*               HDBC;
  18. typedef void*               HSTMT;
  19. typedef signed short        RETCODE;
  20. /* RETCODEs */
  21. #define SQL_NO_DATA_FOUND (-3)
  22. #define SQL_INVALID_HANDLE (-2)
  23. #define SQL_ERROR (-1)
  24. #define SQL_SUCCESS  0
  25. /* Standard SQL datatypes, using ANSI type numbering */
  26. #define SQL_CHAR 1
  27. #define SQL_INTEGER  4
  28. #define SQL_VARCHAR  12
  29. /* C datatype to SQL datatype mapping */
  30. #define SQL_C_CHAR   SQL_CHAR
  31. #define SQL_C_LONG   SQL_INTEGER
  32. /* Special length value */
  33. #define SQL_NULL_DATA (-1)
  34. #define SQL_PARAM_INPUT         1
  35. #define SQL_PARAM_OUTPUT 4
  36. /* Null handles */
  37. #define SQL_NULL_HENV NULL
  38. #define SQL_NULL_HDBC NULL
  39. #define SQL_NULL_HSTM NULL
  40. /**************************************************************************
  41. Allocates an SQL environment. */
  42. RETCODE
  43. SQLAllocEnv(
  44. /*========*/
  45. /* out: SQL_SUCCESS */
  46. HENV* phenv); /* out: pointer to an environment handle */
  47. /**************************************************************************
  48. Allocates an SQL connection. */
  49. RETCODE
  50. SQLAllocConnect(
  51. /*============*/
  52. /* out: SQL_SUCCESS */
  53. HENV henv, /* in: pointer to an environment handle */
  54. HDBC* phdbc); /* out: pointer to a connection handle */
  55. /**************************************************************************
  56. Allocates an SQL statement. */
  57. RETCODE
  58. SQLAllocStmt(
  59. /*=========*/
  60. HDBC hdbc, /* in: SQL connection */
  61. HSTMT* phstmt); /* out: pointer to a statement handle */
  62. /**************************************************************************
  63. Connects to a database server process (establishes a connection and a
  64. session). */
  65. RETCODE
  66. SQLConnect(
  67. /*=======*/
  68. /* out: SQL_SUCCESS */
  69. HDBC hdbc, /* in: SQL connection handle */
  70. UCHAR* szDSN, /* in: data source name (server name) */
  71. SWORD cbDSN, /* in: data source name length */
  72. UCHAR* szUID, /* in: user name */
  73. SWORD cbUID, /* in: user name length */
  74. UCHAR* szAuthStr, /* in: password */
  75. SWORD cbAuthStr); /* in: password length */
  76. /**************************************************************************
  77. Makes the server to parse and optimize an SQL string. */
  78. RETCODE
  79. SQLPrepare(
  80. /*=======*/
  81. /* out: SQL_SUCCESS */
  82. HSTMT hstmt, /* in: statement handle */
  83. UCHAR* szSqlStr, /* in: SQL string */
  84. SDWORD cbSqlStr); /* in: SQL string length */
  85. /**************************************************************************
  86. Binds a parameter in a prepared statement. */
  87. RETCODE
  88. SQLBindParameter(
  89. /*=============*/
  90. /* out: SQL_SUCCESS */
  91. HSTMT hstmt, /* in: statement handle */
  92. UWORD ipar, /* in: parameter index, starting from 1 */
  93. SWORD fParamType, /* in: SQL_PARAM_INPUT or SQL_PARAM_OUTPUT */
  94. SWORD fCType, /* in: SQL_C_CHAR, ... */
  95. SWORD fSqlType, /* in: SQL_CHAR, ... */
  96. UDWORD cbColDef, /* in: precision: ignored */
  97. SWORD ibScale, /* in: scale: ignored */
  98. PTR rgbValue, /* in: pointer to a buffer for the data */
  99. SDWORD cbValueMax, /* in: buffer size */
  100. SDWORD* pcbValue); /* in: pointer to a buffer for the data
  101. length or SQL_NULL_DATA */
  102. /**************************************************************************
  103. Executes a prepared statement where all parameters have been bound. */
  104. RETCODE
  105. SQLExecute(
  106. /*=======*/
  107. /* out: SQL_SUCCESS or SQL_ERROR */
  108. HSTMT hstmt); /* in: statement handle */
  109. /**************************************************************************
  110. Queries an error message. */
  111. RETCODE
  112. SQLError(
  113. /*=====*/
  114. /* out: SQL_SUCCESS or SQL_NO_DATA_FOUND */
  115. HENV henv, /* in: SQL_NULL_HENV */
  116. HDBC hdbc, /* in: SQL_NULL_HDBC */
  117. HSTMT hstmt, /* in: statement handle */
  118. UCHAR* szSqlState, /* in/out: SQLSTATE as a null-terminated string,
  119. (currently, always == "S1000") */
  120. SDWORD* pfNativeError, /* out: native error code */
  121. UCHAR* szErrorMsg, /* in/out: buffer for an error message as a
  122. null-terminated string */
  123. SWORD cbErrorMsgMax, /* in: buffer size for szErrorMsg */
  124. SWORD* pcbErrorMsg); /* out: error message length */
  125. #endif