1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __SQL 7 #define __SQL 8 9 #ifndef ODBCVER 10 #define ODBCVER 0x0351 11 #endif 12 13 #include <sqltypes.h> 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 #define SQL_NULL_DATA (-1) 20 #define SQL_DATA_AT_EXEC (-2) 21 22 #define SQL_SUCCESS 0 23 #define SQL_SUCCESS_WITH_INFO 1 24 #if (ODBCVER >= 0x0300) 25 #define SQL_NO_DATA 100 26 #endif 27 #define SQL_ERROR (-1) 28 #define SQL_INVALID_HANDLE (-2) 29 30 #define SQL_STILL_EXECUTING 2 31 #define SQL_NEED_DATA 99 32 33 #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0) 34 35 #define SQL_NTS (-3) 36 #define SQL_NTSL (__MSABI_LONG(-3)) 37 38 #define SQL_MAX_MESSAGE_LENGTH 512 39 40 #if (ODBCVER >= 0x0300) 41 #define SQL_DATE_LEN 10 42 #define SQL_TIME_LEN 8 43 #define SQL_TIMESTAMP_LEN 19 44 #endif 45 46 #if (ODBCVER >= 0x0300) 47 #define SQL_HANDLE_ENV 1 48 #define SQL_HANDLE_DBC 2 49 #define SQL_HANDLE_STMT 3 50 #define SQL_HANDLE_DESC 4 51 #endif 52 53 #if (ODBCVER >= 0x0300) 54 #define SQL_ATTR_OUTPUT_NTS 10001 55 #endif 56 57 #if (ODBCVER >= 0x0300) 58 #define SQL_ATTR_AUTO_IPD 10001 59 #define SQL_ATTR_METADATA_ID 10014 60 #endif 61 62 #if (ODBCVER >= 0x0300) 63 #define SQL_ATTR_APP_ROW_DESC 10010 64 #define SQL_ATTR_APP_PARAM_DESC 10011 65 #define SQL_ATTR_IMP_ROW_DESC 10012 66 #define SQL_ATTR_IMP_PARAM_DESC 10013 67 #define SQL_ATTR_CURSOR_SCROLLABLE (-1) 68 #define SQL_ATTR_CURSOR_SENSITIVITY (-2) 69 #endif 70 71 #if (ODBCVER >= 0x0300) 72 #define SQL_NONSCROLLABLE 0 73 #define SQL_SCROLLABLE 1 74 #endif 75 76 #if (ODBCVER >= 0x0300) 77 #define SQL_DESC_COUNT 1001 78 #define SQL_DESC_TYPE 1002 79 #define SQL_DESC_LENGTH 1003 80 #define SQL_DESC_OCTET_LENGTH_PTR 1004 81 #define SQL_DESC_PRECISION 1005 82 #define SQL_DESC_SCALE 1006 83 #define SQL_DESC_DATETIME_INTERVAL_CODE 1007 84 #define SQL_DESC_NULLABLE 1008 85 #define SQL_DESC_INDICATOR_PTR 1009 86 #define SQL_DESC_DATA_PTR 1010 87 #define SQL_DESC_NAME 1011 88 #define SQL_DESC_UNNAMED 1012 89 #define SQL_DESC_OCTET_LENGTH 1013 90 #define SQL_DESC_ALLOC_TYPE 1099 91 #endif 92 93 #if (ODBCVER >= 0x0300) 94 #define SQL_DIAG_RETURNCODE 1 95 #define SQL_DIAG_NUMBER 2 96 #define SQL_DIAG_ROW_COUNT 3 97 #define SQL_DIAG_SQLSTATE 4 98 #define SQL_DIAG_NATIVE 5 99 #define SQL_DIAG_MESSAGE_TEXT 6 100 #define SQL_DIAG_DYNAMIC_FUNCTION 7 101 #define SQL_DIAG_CLASS_ORIGIN 8 102 #define SQL_DIAG_SUBCLASS_ORIGIN 9 103 #define SQL_DIAG_CONNECTION_NAME 10 104 #define SQL_DIAG_SERVER_NAME 11 105 #define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12 106 #endif 107 108 #if (ODBCVER >= 0x0300) 109 #define SQL_DIAG_ALTER_DOMAIN 3 110 #define SQL_DIAG_ALTER_TABLE 4 111 #define SQL_DIAG_CALL 7 112 #define SQL_DIAG_CREATE_ASSERTION 6 113 #define SQL_DIAG_CREATE_CHARACTER_SET 8 114 #define SQL_DIAG_CREATE_COLLATION 10 115 #define SQL_DIAG_CREATE_DOMAIN 23 116 #define SQL_DIAG_CREATE_INDEX (-1) 117 #define SQL_DIAG_CREATE_SCHEMA 64 118 #define SQL_DIAG_CREATE_TABLE 77 119 #define SQL_DIAG_CREATE_TRANSLATION 79 120 #define SQL_DIAG_CREATE_VIEW 84 121 #define SQL_DIAG_DELETE_WHERE 19 122 #define SQL_DIAG_DROP_ASSERTION 24 123 #define SQL_DIAG_DROP_CHARACTER_SET 25 124 #define SQL_DIAG_DROP_COLLATION 26 125 #define SQL_DIAG_DROP_DOMAIN 27 126 #define SQL_DIAG_DROP_INDEX (-2) 127 #define SQL_DIAG_DROP_SCHEMA 31 128 #define SQL_DIAG_DROP_TABLE 32 129 #define SQL_DIAG_DROP_TRANSLATION 33 130 #define SQL_DIAG_DROP_VIEW 36 131 #define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38 132 #define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81 133 #define SQL_DIAG_GRANT 48 134 #define SQL_DIAG_INSERT 50 135 #define SQL_DIAG_REVOKE 59 136 #define SQL_DIAG_SELECT_CURSOR 85 137 #define SQL_DIAG_UNKNOWN_STATEMENT 0 138 #define SQL_DIAG_UPDATE_WHERE 82 139 #endif 140 141 #define SQL_UNKNOWN_TYPE 0 142 #define SQL_CHAR 1 143 #define SQL_NUMERIC 2 144 #define SQL_DECIMAL 3 145 #define SQL_INTEGER 4 146 #define SQL_SMALLINT 5 147 #define SQL_FLOAT 6 148 #define SQL_REAL 7 149 #define SQL_DOUBLE 8 150 #if (ODBCVER >= 0x0300) 151 #define SQL_DATETIME 9 152 #endif 153 #define SQL_VARCHAR 12 154 155 #if (ODBCVER >= 0x0300) 156 #define SQL_TYPE_DATE 91 157 #define SQL_TYPE_TIME 92 158 #define SQL_TYPE_TIMESTAMP 93 159 #endif 160 161 #if (ODBCVER >= 0x0300) 162 #define SQL_UNSPECIFIED 0 163 #define SQL_INSENSITIVE 1 164 #define SQL_SENSITIVE 2 165 #endif 166 167 #define SQL_ALL_TYPES 0 168 169 #if (ODBCVER >= 0x0300) 170 #define SQL_DEFAULT 99 171 #endif 172 173 #if (ODBCVER >= 0x0300) 174 #define SQL_ARD_TYPE (-99) 175 #endif 176 177 #if (ODBCVER >= 0x0300) 178 #define SQL_CODE_DATE 1 179 #define SQL_CODE_TIME 2 180 #define SQL_CODE_TIMESTAMP 3 181 #endif 182 183 #if (ODBCVER >= 0x0300) 184 #define SQL_FALSE 0 185 #define SQL_TRUE 1 186 #endif 187 188 #define SQL_NO_NULLS 0 189 #define SQL_NULLABLE 1 190 191 #define SQL_NULLABLE_UNKNOWN 2 192 193 #if (ODBCVER >= 0x0300) 194 #define SQL_PRED_NONE 0 195 #define SQL_PRED_CHAR 1 196 #define SQL_PRED_BASIC 2 197 #endif 198 199 #if (ODBCVER >= 0x0300) 200 #define SQL_NAMED 0 201 #define SQL_UNNAMED 1 202 #endif 203 204 #if (ODBCVER >= 0x0300) 205 #define SQL_DESC_ALLOC_AUTO 1 206 #define SQL_DESC_ALLOC_USER 2 207 #endif 208 209 #define SQL_CLOSE 0 210 #define SQL_DROP 1 211 #define SQL_UNBIND 2 212 #define SQL_RESET_PARAMS 3 213 214 #define SQL_FETCH_NEXT 1 215 #define SQL_FETCH_FIRST 2 216 217 #define SQL_FETCH_LAST 3 218 #define SQL_FETCH_PRIOR 4 219 #define SQL_FETCH_ABSOLUTE 5 220 #define SQL_FETCH_RELATIVE 6 221 222 #define SQL_COMMIT 0 223 #define SQL_ROLLBACK 1 224 225 #define SQL_NULL_HENV 0 226 #define SQL_NULL_HDBC 0 227 #define SQL_NULL_HSTMT 0 228 #if (ODBCVER >= 0x0300) 229 #define SQL_NULL_HDESC 0 230 #endif 231 232 #if (ODBCVER >= 0x0300) 233 #define SQL_NULL_HANDLE __MSABI_LONG(0) 234 #endif 235 236 #define SQL_SCOPE_CURROW 0 237 #define SQL_SCOPE_TRANSACTION 1 238 #define SQL_SCOPE_SESSION 2 239 240 #define SQL_PC_UNKNOWN 0 241 #if (ODBCVER >= 0x0300) 242 #define SQL_PC_NON_PSEUDO 1 243 #endif 244 #define SQL_PC_PSEUDO 2 245 246 #if (ODBCVER >= 0x0300) 247 #define SQL_ROW_IDENTIFIER 1 248 #endif 249 250 #define SQL_INDEX_UNIQUE 0 251 #define SQL_INDEX_ALL 1 252 253 #define SQL_INDEX_CLUSTERED 1 254 #define SQL_INDEX_HASHED 2 255 #define SQL_INDEX_OTHER 3 256 257 #define SQL_API_SQLALLOCCONNECT 1 258 #define SQL_API_SQLALLOCENV 2 259 #if (ODBCVER >= 0x0300) 260 #define SQL_API_SQLALLOCHANDLE 1001 261 #endif 262 #define SQL_API_SQLALLOCSTMT 3 263 #define SQL_API_SQLBINDCOL 4 264 #if (ODBCVER >= 0x0300) 265 #define SQL_API_SQLBINDPARAM 1002 266 #endif 267 #define SQL_API_SQLCANCEL 5 268 #if (ODBCVER >= 0x0300) 269 #define SQL_API_SQLCLOSECURSOR 1003 270 #define SQL_API_SQLCOLATTRIBUTE 6 271 #endif 272 #define SQL_API_SQLCOLUMNS 40 273 #define SQL_API_SQLCONNECT 7 274 #if (ODBCVER >= 0x0300) 275 #define SQL_API_SQLCOPYDESC 1004 276 #endif 277 #define SQL_API_SQLDATASOURCES 57 278 #define SQL_API_SQLDESCRIBECOL 8 279 #define SQL_API_SQLDISCONNECT 9 280 #if (ODBCVER >= 0x0300) 281 #define SQL_API_SQLENDTRAN 1005 282 #endif 283 #define SQL_API_SQLERROR 10 284 #define SQL_API_SQLEXECDIRECT 11 285 #define SQL_API_SQLEXECUTE 12 286 #define SQL_API_SQLFETCH 13 287 #if (ODBCVER >= 0x0300) 288 #define SQL_API_SQLFETCHSCROLL 1021 289 #endif 290 #define SQL_API_SQLFREECONNECT 14 291 #define SQL_API_SQLFREEENV 15 292 #if (ODBCVER >= 0x0300) 293 #define SQL_API_SQLFREEHANDLE 1006 294 #endif 295 #define SQL_API_SQLFREESTMT 16 296 #if (ODBCVER >= 0x0300) 297 #define SQL_API_SQLGETCONNECTATTR 1007 298 #endif 299 #define SQL_API_SQLGETCONNECTOPTION 42 300 #define SQL_API_SQLGETCURSORNAME 17 301 #define SQL_API_SQLGETDATA 43 302 #if (ODBCVER >= 0x0300) 303 #define SQL_API_SQLGETDESCFIELD 1008 304 #define SQL_API_SQLGETDESCREC 1009 305 #define SQL_API_SQLGETDIAGFIELD 1010 306 #define SQL_API_SQLGETDIAGREC 1011 307 #define SQL_API_SQLGETENVATTR 1012 308 #endif 309 #define SQL_API_SQLGETFUNCTIONS 44 310 #define SQL_API_SQLGETINFO 45 311 #if (ODBCVER >= 0x0300) 312 #define SQL_API_SQLGETSTMTATTR 1014 313 #endif 314 #define SQL_API_SQLGETSTMTOPTION 46 315 #define SQL_API_SQLGETTYPEINFO 47 316 #define SQL_API_SQLNUMRESULTCOLS 18 317 #define SQL_API_SQLPARAMDATA 48 318 #define SQL_API_SQLPREPARE 19 319 #define SQL_API_SQLPUTDATA 49 320 #define SQL_API_SQLROWCOUNT 20 321 #if (ODBCVER >= 0x0300) 322 #define SQL_API_SQLSETCONNECTATTR 1016 323 #endif 324 #define SQL_API_SQLSETCONNECTOPTION 50 325 #define SQL_API_SQLSETCURSORNAME 21 326 #if (ODBCVER >= 0x0300) 327 #define SQL_API_SQLSETDESCFIELD 1017 328 #define SQL_API_SQLSETDESCREC 1018 329 #define SQL_API_SQLSETENVATTR 1019 330 #endif 331 #define SQL_API_SQLSETPARAM 22 332 #if (ODBCVER >= 0x0300) 333 #define SQL_API_SQLSETSTMTATTR 1020 334 #endif 335 #define SQL_API_SQLSETSTMTOPTION 51 336 #define SQL_API_SQLSPECIALCOLUMNS 52 337 #define SQL_API_SQLSTATISTICS 53 338 #define SQL_API_SQLTABLES 54 339 #define SQL_API_SQLTRANSACT 23 340 341 #if (ODBCVER >= 0x0300) 342 #define SQL_MAX_DRIVER_CONNECTIONS 0 343 #define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS 344 #define SQL_MAX_CONCURRENT_ACTIVITIES 1 345 #define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES 346 #endif 347 #define SQL_DATA_SOURCE_NAME 2 348 #define SQL_FETCH_DIRECTION 8 349 #define SQL_SERVER_NAME 13 350 #define SQL_SEARCH_PATTERN_ESCAPE 14 351 #define SQL_DBMS_NAME 17 352 #define SQL_DBMS_VER 18 353 #define SQL_ACCESSIBLE_TABLES 19 354 #define SQL_ACCESSIBLE_PROCEDURES 20 355 #define SQL_CURSOR_COMMIT_BEHAVIOR 23 356 #define SQL_DATA_SOURCE_READ_ONLY 25 357 #define SQL_DEFAULT_TXN_ISOLATION 26 358 #define SQL_IDENTIFIER_CASE 28 359 #define SQL_IDENTIFIER_QUOTE_CHAR 29 360 #define SQL_MAX_COLUMN_NAME_LEN 30 361 #define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN 362 #define SQL_MAX_CURSOR_NAME_LEN 31 363 #define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN 364 #define SQL_MAX_SCHEMA_NAME_LEN 32 365 #define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN 366 #define SQL_MAX_CATALOG_NAME_LEN 34 367 #define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN 368 #define SQL_MAX_TABLE_NAME_LEN 35 369 #define SQL_SCROLL_CONCURRENCY 43 370 #define SQL_TXN_CAPABLE 46 371 #define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE 372 #define SQL_USER_NAME 47 373 #define SQL_TXN_ISOLATION_OPTION 72 374 #define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION 375 #define SQL_INTEGRITY 73 376 #define SQL_GETDATA_EXTENSIONS 81 377 #define SQL_NULL_COLLATION 85 378 #define SQL_ALTER_TABLE 86 379 #define SQL_ORDER_BY_COLUMNS_IN_SELECT 90 380 #define SQL_SPECIAL_CHARACTERS 94 381 #define SQL_MAX_COLUMNS_IN_GROUP_BY 97 382 #define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY 383 #define SQL_MAX_COLUMNS_IN_INDEX 98 384 #define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX 385 #define SQL_MAX_COLUMNS_IN_ORDER_BY 99 386 #define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY 387 #define SQL_MAX_COLUMNS_IN_SELECT 100 388 #define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT 389 #define SQL_MAX_COLUMNS_IN_TABLE 101 390 #define SQL_MAX_INDEX_SIZE 102 391 #define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE 392 #define SQL_MAX_ROW_SIZE 104 393 #define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE 394 #define SQL_MAX_STATEMENT_LEN 105 395 #define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN 396 #define SQL_MAX_TABLES_IN_SELECT 106 397 #define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT 398 #define SQL_MAX_USER_NAME_LEN 107 399 #define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN 400 #if (ODBCVER >= 0x0300) 401 #define SQL_OJ_CAPABILITIES 115 402 #define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES 403 #endif 404 405 #if (ODBCVER >= 0x0300) 406 #define SQL_XOPEN_CLI_YEAR 10000 407 #define SQL_CURSOR_SENSITIVITY 10001 408 #define SQL_DESCRIBE_PARAMETER 10002 409 #define SQL_CATALOG_NAME 10003 410 #define SQL_COLLATION_SEQ 10004 411 #define SQL_MAX_IDENTIFIER_LEN 10005 412 #define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN 413 #endif 414 415 #if (ODBCVER >= 0x0200) 416 #define SQL_AT_ADD_COLUMN __MSABI_LONG(0x00000001) 417 #define SQL_AT_DROP_COLUMN __MSABI_LONG(0x00000002) 418 #endif 419 420 #if (ODBCVER >= 0x0300) 421 #define SQL_AT_ADD_CONSTRAINT __MSABI_LONG(0x00000008) 422 #endif 423 424 #if (ODBCVER >= 0x0300) 425 #define SQL_AM_NONE 0 426 #define SQL_AM_CONNECTION 1 427 #define SQL_AM_STATEMENT 2 428 #endif 429 430 #define SQL_CB_DELETE 0 431 #define SQL_CB_CLOSE 1 432 #define SQL_CB_PRESERVE 2 433 434 #define SQL_FD_FETCH_NEXT __MSABI_LONG(0x00000001) 435 #define SQL_FD_FETCH_FIRST __MSABI_LONG(0x00000002) 436 #define SQL_FD_FETCH_LAST __MSABI_LONG(0x00000004) 437 #define SQL_FD_FETCH_PRIOR __MSABI_LONG(0x00000008) 438 #define SQL_FD_FETCH_ABSOLUTE __MSABI_LONG(0x00000010) 439 #define SQL_FD_FETCH_RELATIVE __MSABI_LONG(0x00000020) 440 441 #define SQL_GD_ANY_COLUMN __MSABI_LONG(0x00000001) 442 #define SQL_GD_ANY_ORDER __MSABI_LONG(0x00000002) 443 444 #define SQL_IC_UPPER 1 445 #define SQL_IC_LOWER 2 446 #define SQL_IC_SENSITIVE 3 447 #define SQL_IC_MIXED 4 448 449 #if (ODBCVER >= 0x0201) 450 #define SQL_OJ_LEFT __MSABI_LONG(0x00000001) 451 #define SQL_OJ_RIGHT __MSABI_LONG(0x00000002) 452 #define SQL_OJ_FULL __MSABI_LONG(0x00000004) 453 #define SQL_OJ_NESTED __MSABI_LONG(0x00000008) 454 #define SQL_OJ_NOT_ORDERED __MSABI_LONG(0x00000010) 455 #define SQL_OJ_INNER __MSABI_LONG(0x00000020) 456 #define SQL_OJ_ALL_COMPARISON_OPS __MSABI_LONG(0x00000040) 457 #endif 458 459 #define SQL_SCCO_READ_ONLY __MSABI_LONG(0x00000001) 460 #define SQL_SCCO_LOCK __MSABI_LONG(0x00000002) 461 #define SQL_SCCO_OPT_ROWVER __MSABI_LONG(0x00000004) 462 #define SQL_SCCO_OPT_VALUES __MSABI_LONG(0x00000008) 463 464 #define SQL_TC_NONE 0 465 #define SQL_TC_DML 1 466 #define SQL_TC_ALL 2 467 #define SQL_TC_DDL_COMMIT 3 468 #define SQL_TC_DDL_IGNORE 4 469 470 #define SQL_TXN_READ_UNCOMMITTED __MSABI_LONG(0x00000001) 471 #define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED 472 #define SQL_TXN_READ_COMMITTED __MSABI_LONG(0x00000002) 473 #define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED 474 #define SQL_TXN_REPEATABLE_READ __MSABI_LONG(0x00000004) 475 #define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ 476 #define SQL_TXN_SERIALIZABLE __MSABI_LONG(0x00000008) 477 #define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE 478 479 #define SQL_NC_HIGH 0 480 #define SQL_NC_LOW 1 481 482 #ifndef RC_INVOKED 483 SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle,SQLHDBC *ConnectionHandle); 484 SQLRETURN SQL_API SQLAllocEnv(SQLHENV *EnvironmentHandle); 485 #if (ODBCVER >= 0x0300) 486 SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,SQLHANDLE InputHandle,SQLHANDLE *OutputHandle); 487 #endif 488 SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle,SQLHSTMT *StatementHandle); 489 SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLSMALLINT TargetType,SQLPOINTER TargetValue,SQLLEN BufferLength,SQLLEN *StrLen_or_Ind); 490 #if (ODBCVER >= 0x0300) 491 SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,SQLUSMALLINT ParameterNumber,SQLSMALLINT ValueType,SQLSMALLINT ParameterType,SQLULEN LengthPrecision,SQLSMALLINT ParameterScale,SQLPOINTER ParameterValue,SQLLEN *StrLen_or_Ind); 492 #endif 493 SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle); 494 #if (ODBCVER >= 0x0300) 495 SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle); 496 #ifdef _WIN64 497 SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLUSMALLINT FieldIdentifier,SQLPOINTER CharacterAttribute,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength,SQLLEN *NumericAttribute); 498 #else 499 SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLUSMALLINT FieldIdentifier,SQLPOINTER CharacterAttribute,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength,SQLPOINTER NumericAttribute); 500 #endif 501 #endif 502 SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLCHAR *ColumnName,SQLSMALLINT NameLength4); 503 SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,SQLCHAR *ServerName,SQLSMALLINT NameLength1,SQLCHAR *UserName,SQLSMALLINT NameLength2,SQLCHAR *Authentication,SQLSMALLINT NameLength3); 504 #if (ODBCVER >= 0x0300) 505 SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,SQLHDESC TargetDescHandle); 506 #endif 507 SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,SQLUSMALLINT Direction,SQLCHAR *ServerName,SQLSMALLINT BufferLength1,SQLSMALLINT *NameLength1,SQLCHAR *Description,SQLSMALLINT BufferLength2,SQLSMALLINT *NameLength2); 508 SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLCHAR *ColumnName,SQLSMALLINT BufferLength,SQLSMALLINT *NameLength,SQLSMALLINT *DataType,SQLULEN *ColumnSize,SQLSMALLINT *DecimalDigits,SQLSMALLINT *Nullable); 509 SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle); 510 #if (ODBCVER >= 0x0300) 511 SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType,SQLHANDLE Handle,SQLSMALLINT CompletionType); 512 #endif 513 SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,SQLHDBC ConnectionHandle,SQLHSTMT StatementHandle,SQLCHAR *Sqlstate,SQLINTEGER *NativeError,SQLCHAR *MessageText,SQLSMALLINT BufferLength,SQLSMALLINT *TextLength); 514 SQLRETURN SQL_API SQLExecDirect(SQLHSTMT StatementHandle,SQLCHAR *StatementText,SQLINTEGER TextLength); 515 SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle); 516 SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle); 517 #if (ODBCVER >= 0x0300) 518 SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,SQLSMALLINT FetchOrientation,SQLLEN FetchOffset); 519 #endif 520 SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle); 521 SQLRETURN SQL_API SQLFreeEnv(SQLHENV EnvironmentHandle); 522 #if (ODBCVER >= 0x0300) 523 SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType,SQLHANDLE Handle); 524 #endif 525 SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle,SQLUSMALLINT Option); 526 #if (ODBCVER >= 0x0300) 527 SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength); 528 #endif 529 SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle,SQLUSMALLINT Option,SQLPOINTER Value); 530 SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT StatementHandle,SQLCHAR *CursorName,SQLSMALLINT BufferLength,SQLSMALLINT *NameLength); 531 SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLSMALLINT TargetType,SQLPOINTER TargetValue,SQLLEN BufferLength,SQLLEN *StrLen_or_Ind); 532 #if (ODBCVER >= 0x0300) 533 SQLRETURN SQL_API SQLGetDescField(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLSMALLINT FieldIdentifier,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength); 534 SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLCHAR *Name,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength,SQLSMALLINT *Type,SQLSMALLINT *SubType,SQLLEN *Length,SQLSMALLINT *Precision,SQLSMALLINT *Scale,SQLSMALLINT *Nullable); 535 SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType,SQLHANDLE Handle,SQLSMALLINT RecNumber,SQLSMALLINT DiagIdentifier,SQLPOINTER DiagInfo,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength); 536 SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT HandleType,SQLHANDLE Handle,SQLSMALLINT RecNumber,SQLCHAR *Sqlstate,SQLINTEGER *NativeError,SQLCHAR *MessageText,SQLSMALLINT BufferLength,SQLSMALLINT *TextLength); 537 SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength); 538 #endif 539 SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,SQLUSMALLINT FunctionId,SQLUSMALLINT *Supported); 540 SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle,SQLUSMALLINT InfoType,SQLPOINTER InfoValue,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength); 541 #if (ODBCVER >= 0x0300) 542 SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength); 543 #endif 544 SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle,SQLUSMALLINT Option,SQLPOINTER Value); 545 SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,SQLSMALLINT DataType); 546 SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle,SQLSMALLINT *ColumnCount); 547 SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle,SQLPOINTER *Value); 548 SQLRETURN SQL_API SQLPrepare(SQLHSTMT StatementHandle,SQLCHAR *StatementText,SQLINTEGER TextLength); 549 SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle,SQLPOINTER Data,SQLLEN StrLen_or_Ind); 550 SQLRETURN SQL_API SQLRowCount(SQLHSTMT StatementHandle,SQLLEN *RowCount); 551 #if (ODBCVER >= 0x0300) 552 SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER StringLength); 553 #endif 554 SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle,SQLUSMALLINT Option,SQLULEN Value); 555 SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT StatementHandle,SQLCHAR *CursorName,SQLSMALLINT NameLength); 556 #if (ODBCVER >= 0x0300) 557 SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLSMALLINT FieldIdentifier,SQLPOINTER Value,SQLINTEGER BufferLength); 558 SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLSMALLINT Type,SQLSMALLINT SubType,SQLLEN Length,SQLSMALLINT Precision,SQLSMALLINT Scale,SQLPOINTER Data,SQLLEN *StringLength,SQLLEN *Indicator); 559 SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER StringLength); 560 #endif 561 SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,SQLUSMALLINT ParameterNumber,SQLSMALLINT ValueType,SQLSMALLINT ParameterType,SQLULEN LengthPrecision,SQLSMALLINT ParameterScale,SQLPOINTER ParameterValue,SQLLEN *StrLen_or_Ind); 562 #if (ODBCVER >= 0x0300) 563 SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER StringLength); 564 #endif 565 SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle,SQLUSMALLINT Option,SQLULEN Value); 566 SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,SQLUSMALLINT IdentifierType,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLUSMALLINT Scope,SQLUSMALLINT Nullable); 567 SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLUSMALLINT Unique,SQLUSMALLINT Reserved); 568 SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLCHAR *TableType,SQLSMALLINT NameLength4); 569 SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle,SQLHDBC ConnectionHandle,SQLUSMALLINT CompletionType); 570 #endif 571 572 #ifdef __cplusplus 573 } 574 #endif 575 #endif 576