home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Compilers / digital marsC compier / dm / include / win32 / Sqlext.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-03  |  9.4 KB  |  294 lines

  1. /*****************************************************************
  2. ** SQLEXT.H - This is the include for applications using
  3. **             the Microsoft SQL Extensions
  4. **
  5. ** (C) Copyright 1990 - 1995 By Microsoft Corp.
  6. **
  7. **      Updated 5/12/93 for 2.00 specification
  8. **      Updated 5/23/94 for 2.01 specification
  9. **      Updated 10/27/94 for 2.10 specification
  10. **      Updated 04/10/95 for 2.50 specification
  11. *********************************************************************/
  12.  
  13. #ifndef __SQLEXT
  14. #define __SQLEXT
  15.  
  16. #ifndef __SQL
  17. #include <sql.h>
  18. #endif
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {                         /* Assume C declarations for C++ */
  22. #endif  /* __cplusplus */
  23.  
  24. /* SQLBindParameter extensions */
  25. #if (ODBCVER >= 0x0200)
  26. #define SQL_DEFAULT_PARAM            (-5)
  27. #define SQL_IGNORE                   (-6)
  28. #define SQL_LEN_DATA_AT_EXEC_OFFSET  (-100)
  29. #define SQL_LEN_DATA_AT_EXEC(length) (-length+SQL_LEN_DATA_AT_EXEC_OFFSET)
  30. #endif  /* ODBCVER >= 0x0200 */
  31.  
  32.  
  33. /* Defines for SQLSetPos */
  34. #define SQL_ENTIRE_ROWSET            0
  35.  
  36. /* Operations in SQLSetPos */
  37. #define SQL_POSITION                 0               /*      1.0 FALSE */
  38. #define SQL_REFRESH                  1               /*      1.0 TRUE */
  39. #if (ODBCVER >= 0x0200)
  40. #define SQL_UPDATE                   2
  41. #define SQL_DELETE                   3
  42. #define SQL_ADD                      4
  43. #endif  /* ODBCVER >= 0x0200 */
  44.  
  45. /* Lock options in SQLSetPos */
  46. #define SQL_LOCK_NO_CHANGE           0               /*      1.0 FALSE */
  47. #define SQL_LOCK_EXCLUSIVE           1               /*      1.0 TRUE */
  48. #if (ODBCVER >= 0x0200)
  49. #define SQL_LOCK_UNLOCK              2
  50.  
  51. /* Macros for SQLSetPos */
  52. #define SQL_POSITION_TO(hstmt,irow) SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
  53. #define SQL_LOCK_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_POSITION,fLock)
  54. #define SQL_REFRESH_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)
  55. #define SQL_UPDATE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
  56. #define SQL_DELETE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)
  57. #define SQL_ADD_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)
  58. #endif  /* ODBCVER >= 0x0200 */
  59.  
  60. /* Level 1 Prototypes                            */
  61.  
  62. /* Options for SQLDriverConnect */
  63. #define SQL_DRIVER_NOPROMPT             0
  64. #define SQL_DRIVER_COMPLETE             1
  65. #define SQL_DRIVER_PROMPT               2
  66. #define SQL_DRIVER_COMPLETE_REQUIRED    3
  67.  
  68. #ifndef RC_INVOKED
  69.  
  70. SQLRETURN SQL_API SQLDriverConnect(
  71.     SQLHDBC            hdbc,
  72.     SQLHWND            hwnd,
  73.     SQLCHAR FAR       *szConnStrIn,
  74.     SQLSMALLINT        cbConnStrIn,
  75.     SQLCHAR FAR       *szConnStrOut,
  76.     SQLSMALLINT        cbConnStrOutMax,
  77.     SQLSMALLINT FAR   *pcbConnStrOut,
  78.     SQLUSMALLINT       fDriverCompletion);
  79.  
  80. #endif /* RC_INVOKED */
  81.  
  82. /* Level 2 Functions                             */
  83.  
  84. /* SQLExtendedFetch "fFetchType" values */
  85. #ifndef SQL_FETCH_NEXT
  86. #define SQL_FETCH_NEXT                   1
  87. #endif
  88. #ifndef SQL_FETCH_FIRST
  89. #define SQL_FETCH_FIRST                  2
  90. #endif
  91. #define SQL_FETCH_LAST                   3
  92. #define SQL_FETCH_PRIOR                  4
  93. #define SQL_FETCH_ABSOLUTE               5
  94. #define SQL_FETCH_RELATIVE               6
  95. #if (ODBCVER >= 0x0200)
  96. #define SQL_FETCH_BOOKMARK               8
  97. #endif  /* ODBCVER >= 0x0200 */
  98.  
  99. /* SQLExtendedFetch "rgfRowStatus" element values */
  100. #define SQL_ROW_SUCCESS                  0
  101. #define SQL_ROW_DELETED                  1
  102. #define SQL_ROW_UPDATED                  2
  103. #define SQL_ROW_NOROW                    3
  104. #if (ODBCVER >= 0x0200)
  105. #define SQL_ROW_ADDED                    4
  106. #define SQL_ROW_ERROR                    5
  107. #endif  /* ODBCVER >= 0x0200 */
  108.  
  109. /* Defines for SQLForeignKeys (returned in result set) */
  110. #define SQL_CASCADE                      0
  111. #define SQL_RESTRICT                     1
  112. #define SQL_SET_NULL                     2
  113. #if (ODBCVER >= 0x0250)
  114. #define SQL_NO_ACTION             3
  115. #define SQL_SET_DEFAULT             4
  116. #endif
  117.  
  118. /* Defines for SQLBindParameter and
  119.                            SQLProcedureColumns (returned in the result set) */
  120. #define SQL_PARAM_TYPE_UNKNOWN           0
  121. #define SQL_PARAM_INPUT                  1
  122. #define SQL_PARAM_INPUT_OUTPUT           2
  123. #define SQL_RESULT_COL                   3
  124. #if (ODBCVER >= 0x0200)
  125. #define SQL_PARAM_OUTPUT                 4
  126. #define SQL_RETURN_VALUE                 5
  127. #endif  /* ODBCVER >= 0x0200 */
  128.  
  129.  
  130. #if (ODBCVER >= 0x0200)
  131. /* Defines for SQLProcedures (returned in the result set) */
  132. #define SQL_PT_UNKNOWN                   0
  133. #define SQL_PT_PROCEDURE                 1
  134. #define SQL_PT_FUNCTION                  2
  135.  
  136. #endif  /* ODBCVER >= 0x0200 */
  137.  
  138. /* Defines used by Driver Manager when mapping SQLSetParam to SQLBindParameter
  139. */
  140. #define SQL_PARAM_TYPE_DEFAULT           SQL_PARAM_INPUT_OUTPUT
  141. #define SQL_SETPARAM_VALUE_MAX           (-1L)
  142.  
  143.  
  144. #ifndef RC_INVOKED
  145.  
  146. /* Level 2 Prototypes */
  147. SQLRETURN SQL_API SQLBrowseConnect(
  148.     SQLHDBC            hdbc,
  149.     SQLCHAR FAR       *szConnStrIn,
  150.     SQLSMALLINT        cbConnStrIn,
  151.     SQLCHAR FAR       *szConnStrOut,
  152.     SQLSMALLINT        cbConnStrOutMax,
  153.     SQLSMALLINT FAR   *pcbConnStrOut);
  154.  
  155. SQLRETURN SQL_API SQLColumnPrivileges(
  156.     SQLHSTMT           hstmt,
  157.     SQLCHAR FAR       *szCatalogName,
  158.     SQLSMALLINT        cbCatalogName,
  159.     SQLCHAR FAR       *szSchemaName,
  160.     SQLSMALLINT        cbSchemaName,
  161.     SQLCHAR FAR       *szTableName,
  162.     SQLSMALLINT        cbTableName,
  163.     SQLCHAR FAR       *szColumnName,
  164.     SQLSMALLINT        cbColumnName);
  165.  
  166. SQLRETURN SQL_API SQLDescribeParam(
  167.     SQLHSTMT           hstmt,
  168.     SQLUSMALLINT       ipar,
  169.     SQLSMALLINT FAR   *pfSqlType,
  170.     SQLUINTEGER FAR   *pcbParamDef,
  171.     SQLSMALLINT FAR   *pibScale,
  172.     SQLSMALLINT FAR   *pfNullable);
  173.  
  174. SQLRETURN SQL_API SQLExtendedFetch(
  175.     SQLHSTMT           hstmt,
  176.     SQLUSMALLINT       fFetchType,
  177.     SQLINTEGER         irow,
  178.     SQLUINTEGER FAR   *pcrow,
  179.     SQLUSMALLINT FAR  *rgfRowStatus);
  180.  
  181. SQLRETURN SQL_API SQLForeignKeys(
  182.     SQLHSTMT           hstmt,
  183.     SQLCHAR FAR       *szPkCatalogName,
  184.     SQLSMALLINT        cbPkCatalogName,
  185.     SQLCHAR FAR       *szPkSchemaName,
  186.     SQLSMALLINT        cbPkSchemaName,
  187.     SQLCHAR FAR       *szPkTableName,
  188.     SQLSMALLINT        cbPkTableName,
  189.     SQLCHAR FAR       *szFkCatalogName,
  190.     SQLSMALLINT        cbFkCatalogName,
  191.     SQLCHAR FAR       *szFkSchemaName,
  192.     SQLSMALLINT        cbFkSchemaName,
  193.     SQLCHAR FAR       *szFkTableName,
  194.     SQLSMALLINT        cbFkTableName);
  195.  
  196. SQLRETURN SQL_API SQLMoreResults(
  197.     SQLHSTMT           hstmt);
  198.  
  199. SQLRETURN SQL_API SQLNativeSql(
  200.     SQLHDBC            hdbc,
  201.     SQLCHAR FAR       *szSqlStrIn,
  202.     SQLINTEGER         cbSqlStrIn,
  203.     SQLCHAR FAR       *szSqlStr,
  204.     SQLINTEGER         cbSqlStrMax,
  205.     SQLINTEGER FAR    *pcbSqlStr);
  206.  
  207. SQLRETURN SQL_API SQLNumParams(
  208.     SQLHSTMT           hstmt,
  209.     SQLSMALLINT FAR   *pcpar);
  210.  
  211. SQLRETURN SQL_API SQLParamOptions(
  212.     SQLHSTMT           hstmt,
  213.     SQLUINTEGER        crow,
  214.     SQLUINTEGER FAR   *pirow);
  215.  
  216. SQLRETURN SQL_API SQLPrimaryKeys(
  217.     SQLHSTMT           hstmt,
  218.     SQLCHAR FAR       *szCatalogName,
  219.     SQLSMALLINT        cbCatalogName,
  220.     SQLCHAR FAR       *szSchemaName,
  221.     SQLSMALLINT        cbSchemaName,
  222.     SQLCHAR FAR       *szTableName,
  223.     SQLSMALLINT        cbTableName);
  224.  
  225. SQLRETURN SQL_API SQLProcedureColumns(
  226.     SQLHSTMT           hstmt,
  227.     SQLCHAR FAR       *szCatalogName,
  228.     SQLSMALLINT        cbCatalogName,
  229.     SQLCHAR FAR       *szSchemaName,
  230.     SQLSMALLINT        cbSchemaName,
  231.     SQLCHAR FAR       *szProcName,
  232.     SQLSMALLINT        cbProcName,
  233.     SQLCHAR FAR       *szColumnName,
  234.     SQLSMALLINT        cbColumnName);
  235.  
  236. SQLRETURN SQL_API SQLProcedures(
  237.     SQLHSTMT           hstmt,
  238.     SQLCHAR FAR       *szCatalogName,
  239.     SQLSMALLINT        cbCatalogName,
  240.     SQLCHAR FAR       *szSchemaName,
  241.     SQLSMALLINT        cbSchemaName,
  242.     SQLCHAR FAR       *szProcName,
  243.     SQLSMALLINT        cbProcName);
  244.  
  245. SQLRETURN SQL_API SQLSetPos(
  246.     SQLHSTMT           hstmt,
  247.     SQLUSMALLINT       irow,
  248.     SQLUSMALLINT       fOption,
  249.     SQLUSMALLINT       fLock);
  250.  
  251. SQLRETURN SQL_API SQLTablePrivileges(
  252.     SQLHSTMT           hstmt,
  253.     SQLCHAR FAR       *szCatalogName,
  254.     SQLSMALLINT        cbCatalogName,
  255.     SQLCHAR FAR       *szSchemaName,
  256.     SQLSMALLINT        cbSchemaName,
  257.     SQLCHAR FAR       *szTableName,
  258.     SQLSMALLINT        cbTableName);
  259.  
  260. /* SDK 2.0 Additions */
  261.  
  262. #if (ODBCVER >= 0x0200)
  263. SQLRETURN SQL_API SQLDrivers(
  264.     SQLHENV            henv,
  265.     SQLUSMALLINT       fDirection,
  266.     SQLCHAR FAR       *szDriverDesc,
  267.     SQLSMALLINT        cbDriverDescMax,
  268.     SQLSMALLINT FAR   *pcbDriverDesc,
  269.     SQLCHAR FAR       *szDriverAttributes,
  270.     SQLSMALLINT        cbDrvrAttrMax,
  271.     SQLSMALLINT FAR   *pcbDrvrAttr);
  272.  
  273. SQLRETURN SQL_API SQLBindParameter(
  274.     SQLHSTMT           hstmt,
  275.     SQLUSMALLINT       ipar,
  276.     SQLSMALLINT        fParamType,
  277.     SQLSMALLINT        fCType,
  278.     SQLSMALLINT        fSqlType,
  279.     SQLUINTEGER        cbColDef,
  280.     SQLSMALLINT        ibScale,
  281.     SQLPOINTER         rgbValue,
  282.     SQLINTEGER         cbValueMax,
  283.     SQLINTEGER FAR    *pcbValue);
  284. #endif  /* ODBCVER >= 0x0200 */
  285.  
  286. #endif /* RC_INVOKED */
  287.  
  288.  
  289. #ifdef __cplusplus
  290. }                                     /* End of extern "C" { */
  291. #endif  /* __cplusplus */
  292.  
  293. #endif /* __SQLEXT */
  294.