Hex Artifact Content

Not logged in

Artifact e16fff59d532178b8717130d92db08369b0d65c6:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20  ********\..*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c               sql
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .d              
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20     *..*         
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20           *..*   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  ..*             
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a       *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 73 71 6c 3b 0d 0a 0d 0a 70 75 62 6c 69 63 20 69  sql;....public i
02c0: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 73 71 6c 74  mport win32.sqlt
02d0: 79 70 65 73 3b 0d 0a 70 72 69 76 61 74 65 20 69  ypes;..private i
02e0: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 64  mport win32.wind
02f0: 65 66 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 4f 44 42  ef;....const ODB
0300: 43 56 45 52 20 3d 20 30 78 30 33 35 31 3b 0d 0a  CVER = 0x0351;..
0310: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 43 43 45  ..const SQL_ACCE
0320: 53 53 49 42 4c 45 5f 50 52 4f 43 45 44 55 52 45  SSIBLE_PROCEDURE
0330: 53 3d 32 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  S=20;..const SQL
0340: 5f 41 43 43 45 53 53 49 42 4c 45 5f 54 41 42 4c  _ACCESSIBLE_TABL
0350: 45 53 3d 31 39 3b 0d 0a 63 6f 6e 73 74 20 53 51  ES=19;..const SQ
0360: 4c 5f 41 4c 4c 5f 54 59 50 45 53 3d 30 3b 0d 0a  L_ALL_TYPES=0;..
0370: 63 6f 6e 73 74 20 53 51 4c 5f 41 4c 54 45 52 5f  const SQL_ALTER_
0380: 54 41 42 4c 45 3d 38 36 3b 0d 0a 63 6f 6e 73 74  TABLE=86;..const
0390: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f   SQL_API_SQLALLO
03a0: 43 43 4f 4e 4e 45 43 54 3d 31 3b 0d 0a 63 6f 6e  CCONNECT=1;..con
03b0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 41 4c  st SQL_API_SQLAL
03c0: 4c 4f 43 45 4e 56 3d 32 3b 0d 0a 63 6f 6e 73 74  LOCENV=2;..const
03d0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f   SQL_API_SQLALLO
03e0: 43 53 54 4d 54 3d 33 3b 0d 0a 63 6f 6e 73 74 20  CSTMT=3;..const 
03f0: 53 51 4c 5f 41 50 49 5f 53 51 4c 42 49 4e 44 43  SQL_API_SQLBINDC
0400: 4f 4c 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  OL=4;..const SQL
0410: 5f 41 50 49 5f 53 51 4c 43 41 4e 43 45 4c 3d 35  _API_SQLCANCEL=5
0420: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  ;..const SQL_API
0430: 5f 53 51 4c 43 4f 4c 55 4d 4e 53 3d 34 30 3b 0d  _SQLCOLUMNS=40;.
0440: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
0450: 51 4c 43 4f 4e 4e 45 43 54 3d 37 3b 0d 0a 63 6f  QLCONNECT=7;..co
0460: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 44  nst SQL_API_SQLD
0470: 41 54 41 53 4f 55 52 43 45 53 3d 35 37 3b 0d 0a  ATASOURCES=57;..
0480: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
0490: 4c 44 45 53 43 52 49 42 45 43 4f 4c 3d 38 3b 0d  LDESCRIBECOL=8;.
04a0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
04b0: 51 4c 44 49 53 43 4f 4e 4e 45 43 54 3d 39 3b 0d  QLDISCONNECT=9;.
04c0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
04d0: 51 4c 45 52 52 4f 52 3d 31 30 3b 0d 0a 63 6f 6e  QLERROR=10;..con
04e0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 45 58  st SQL_API_SQLEX
04f0: 45 43 44 49 52 45 43 54 3d 31 31 3b 0d 0a 63 6f  ECDIRECT=11;..co
0500: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 45  nst SQL_API_SQLE
0510: 58 45 43 55 54 45 3d 31 32 3b 0d 0a 63 6f 6e 73  XECUTE=12;..cons
0520: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 46 45 54  t SQL_API_SQLFET
0530: 43 48 3d 31 33 3b 0d 0a 63 6f 6e 73 74 20 53 51  CH=13;..const SQ
0540: 4c 5f 41 50 49 5f 53 51 4c 46 52 45 45 43 4f 4e  L_API_SQLFREECON
0550: 4e 45 43 54 3d 31 34 3b 0d 0a 63 6f 6e 73 74 20  NECT=14;..const 
0560: 53 51 4c 5f 41 50 49 5f 53 51 4c 46 52 45 45 45  SQL_API_SQLFREEE
0570: 4e 56 3d 31 35 3b 0d 0a 63 6f 6e 73 74 20 53 51  NV=15;..const SQ
0580: 4c 5f 41 50 49 5f 53 51 4c 46 52 45 45 53 54 4d  L_API_SQLFREESTM
0590: 54 3d 31 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  T=16;..const SQL
05a0: 5f 41 50 49 5f 53 51 4c 47 45 54 43 4f 4e 4e 45  _API_SQLGETCONNE
05b0: 43 54 4f 50 54 49 4f 4e 3d 34 32 3b 0d 0a 63 6f  CTOPTION=42;..co
05c0: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47  nst SQL_API_SQLG
05d0: 45 54 43 55 52 53 4f 52 4e 41 4d 45 3d 31 37 3b  ETCURSORNAME=17;
05e0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f  ..const SQL_API_
05f0: 53 51 4c 47 45 54 44 41 54 41 3d 34 33 3b 0d 0a  SQLGETDATA=43;..
0600: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
0610: 4c 47 45 54 46 55 4e 43 54 49 4f 4e 53 3d 34 34  LGETFUNCTIONS=44
0620: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  ;..const SQL_API
0630: 5f 53 51 4c 47 45 54 49 4e 46 4f 3d 34 35 3b 0d  _SQLGETINFO=45;.
0640: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
0650: 51 4c 47 45 54 53 54 4d 54 4f 50 54 49 4f 4e 3d  QLGETSTMTOPTION=
0660: 34 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41  46;..const SQL_A
0670: 50 49 5f 53 51 4c 47 45 54 54 59 50 45 49 4e 46  PI_SQLGETTYPEINF
0680: 4f 3d 34 37 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  O=47;..const SQL
0690: 5f 41 50 49 5f 53 51 4c 4e 55 4d 52 45 53 55 4c  _API_SQLNUMRESUL
06a0: 54 43 4f 4c 53 3d 31 38 3b 0d 0a 63 6f 6e 73 74  TCOLS=18;..const
06b0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 50 41 52 41   SQL_API_SQLPARA
06c0: 4d 44 41 54 41 3d 34 38 3b 0d 0a 63 6f 6e 73 74  MDATA=48;..const
06d0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 50 52 45 50   SQL_API_SQLPREP
06e0: 41 52 45 3d 31 39 3b 0d 0a 63 6f 6e 73 74 20 53  ARE=19;..const S
06f0: 51 4c 5f 41 50 49 5f 53 51 4c 50 55 54 44 41 54  QL_API_SQLPUTDAT
0700: 41 3d 34 39 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  A=49;..const SQL
0710: 5f 41 50 49 5f 53 51 4c 52 4f 57 43 4f 55 4e 54  _API_SQLROWCOUNT
0720: 3d 32 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f  =20;..const SQL_
0730: 41 50 49 5f 53 51 4c 53 45 54 43 4f 4e 4e 45 43  API_SQLSETCONNEC
0740: 54 4f 50 54 49 4f 4e 3d 35 30 3b 0d 0a 63 6f 6e  TOPTION=50;..con
0750: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45  st SQL_API_SQLSE
0760: 54 43 55 52 53 4f 52 4e 41 4d 45 3d 32 31 3b 0d  TCURSORNAME=21;.
0770: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
0780: 51 4c 53 45 54 50 41 52 41 4d 3d 32 32 3b 0d 0a  QLSETPARAM=22;..
0790: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
07a0: 4c 53 45 54 53 54 4d 54 4f 50 54 49 4f 4e 3d 35  LSETSTMTOPTION=5
07b0: 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50  1;..const SQL_AP
07c0: 49 5f 53 51 4c 53 50 45 43 49 41 4c 43 4f 4c 55  I_SQLSPECIALCOLU
07d0: 4d 4e 53 3d 35 32 3b 0d 0a 63 6f 6e 73 74 20 53  MNS=52;..const S
07e0: 51 4c 5f 41 50 49 5f 53 51 4c 53 54 41 54 49 53  QL_API_SQLSTATIS
07f0: 54 49 43 53 3d 35 33 3b 0d 0a 63 6f 6e 73 74 20  TICS=53;..const 
0800: 53 51 4c 5f 41 50 49 5f 53 51 4c 54 41 42 4c 45  SQL_API_SQLTABLE
0810: 53 3d 35 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  S=54;..const SQL
0820: 5f 41 50 49 5f 53 51 4c 54 52 41 4e 53 41 43 54  _API_SQLTRANSACT
0830: 3d 32 33 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51  =23;....const SQ
0840: 4c 5f 43 42 5f 44 45 4c 45 54 45 3d 30 3b 0d 0a  L_CB_DELETE=0;..
0850: 63 6f 6e 73 74 20 53 51 4c 5f 43 42 5f 43 4c 4f  const SQL_CB_CLO
0860: 53 45 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  SE=1;..const SQL
0870: 5f 43 42 5f 50 52 45 53 45 52 56 45 3d 32 3b 0d  _CB_PRESERVE=2;.
0880: 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 43 48 41  ...const SQL_CHA
0890: 52 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f  R=1;..const SQL_
08a0: 43 4c 4f 53 45 3d 30 3b 0d 0a 63 6f 6e 73 74 20  CLOSE=0;..const 
08b0: 53 51 4c 5f 43 4f 4d 4d 49 54 3d 30 3b 0d 0a 63  SQL_COMMIT=0;..c
08c0: 6f 6e 73 74 20 53 51 4c 5f 43 55 52 53 4f 52 5f  onst SQL_CURSOR_
08d0: 43 4f 4d 4d 49 54 5f 42 45 48 41 56 49 4f 52 3d  COMMIT_BEHAVIOR=
08e0: 32 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 44  23;..const SQL_D
08f0: 41 54 41 5f 41 54 5f 45 58 45 43 3d 2d 32 3b 0d  ATA_AT_EXEC=-2;.
0900: 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 41 54 41 5f  .const SQL_DATA_
0910: 53 4f 55 52 43 45 5f 4e 41 4d 45 3d 32 3b 0d 0a  SOURCE_NAME=2;..
0920: 63 6f 6e 73 74 20 53 51 4c 5f 44 41 54 41 5f 53  const SQL_DATA_S
0930: 4f 55 52 43 45 5f 52 45 41 44 5f 4f 4e 4c 59 3d  OURCE_READ_ONLY=
0940: 32 35 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 44  25;..const SQL_D
0950: 42 4d 53 5f 4e 41 4d 45 3d 31 37 3b 0d 0a 63 6f  BMS_NAME=17;..co
0960: 6e 73 74 20 53 51 4c 5f 44 42 4d 53 5f 56 45 52  nst SQL_DBMS_VER
0970: 3d 31 38 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f  =18;..const SQL_
0980: 44 45 43 49 4d 41 4c 3d 33 3b 0d 0a 63 6f 6e 73  DECIMAL=3;..cons
0990: 74 20 53 51 4c 5f 44 45 46 41 55 4c 54 5f 54 58  t SQL_DEFAULT_TX
09a0: 4e 5f 49 53 4f 4c 41 54 49 4f 4e 3d 32 36 3b 0d  N_ISOLATION=26;.
09b0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 4f 55 42 4c  .const SQL_DOUBL
09c0: 45 3d 38 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f  E=8;..const SQL_
09d0: 44 52 4f 50 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53  DROP=1;..const S
09e0: 51 4c 5f 45 52 52 4f 52 3d 2d 31 3b 0d 0a 0d 0a  QL_ERROR=-1;....
09f0: 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f 46 45 54  const SQL_FD_FET
0a00: 43 48 5f 4e 45 58 54 3d 31 3b 0d 0a 63 6f 6e 73  CH_NEXT=1;..cons
0a10: 74 20 53 51 4c 5f 46 44 5f 46 45 54 43 48 5f 46  t SQL_FD_FETCH_F
0a20: 49 52 53 54 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53  IRST=2;..const S
0a30: 51 4c 5f 46 44 5f 46 45 54 43 48 5f 4c 41 53 54  QL_FD_FETCH_LAST
0a40: 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46  =4;..const SQL_F
0a50: 44 5f 46 45 54 43 48 5f 50 52 49 4f 52 3d 38 3b  D_FETCH_PRIOR=8;
0a60: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f 46  ..const SQL_FD_F
0a70: 45 54 43 48 5f 41 42 53 4f 4c 55 54 45 3d 31 36  ETCH_ABSOLUTE=16
0a80: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f  ;..const SQL_FD_
0a90: 46 45 54 43 48 5f 52 45 4c 41 54 49 56 45 3d 33  FETCH_RELATIVE=3
0aa0: 32 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f  2;....const SQL_
0ab0: 46 45 54 43 48 5f 41 42 53 4f 4c 55 54 45 3d 35  FETCH_ABSOLUTE=5
0ac0: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45 54  ;..const SQL_FET
0ad0: 43 48 5f 44 49 52 45 43 54 49 4f 4e 3d 38 3b 0d  CH_DIRECTION=8;.
0ae0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45 54 43 48  .const SQL_FETCH
0af0: 5f 46 49 52 53 54 3d 32 3b 0d 0a 63 6f 6e 73 74  _FIRST=2;..const
0b00: 20 53 51 4c 5f 46 45 54 43 48 5f 4c 41 53 54 3d   SQL_FETCH_LAST=
0b10: 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45  3;..const SQL_FE
0b20: 54 43 48 5f 4e 45 58 54 3d 31 3b 0d 0a 63 6f 6e  TCH_NEXT=1;..con
0b30: 73 74 20 53 51 4c 5f 46 45 54 43 48 5f 50 52 49  st SQL_FETCH_PRI
0b40: 4f 52 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  OR=4;..const SQL
0b50: 5f 46 45 54 43 48 5f 52 45 4c 41 54 49 56 45 3d  _FETCH_RELATIVE=
0b60: 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 4c  6;..const SQL_FL
0b70: 4f 41 54 3d 36 3b 0d 0a 63 6f 6e 73 74 20 53 51  OAT=6;..const SQ
0b80: 4c 5f 47 44 5f 41 4e 59 5f 43 4f 4c 55 4d 4e 3d  L_GD_ANY_COLUMN=
0b90: 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 47 44  1;..const SQL_GD
0ba0: 5f 41 4e 59 5f 4f 52 44 45 52 3d 32 3b 0d 0a 63  _ANY_ORDER=2;..c
0bb0: 6f 6e 73 74 20 53 51 4c 5f 47 45 54 44 41 54 41  onst SQL_GETDATA
0bc0: 5f 45 58 54 45 4e 53 49 4f 4e 53 3d 38 31 3b 0d  _EXTENSIONS=81;.
0bd0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 43 5f 4c 4f  .const SQL_IC_LO
0be0: 57 45 52 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51  WER=2;..const SQ
0bf0: 4c 5f 49 43 5f 4d 49 58 45 44 3d 34 3b 0d 0a 63  L_IC_MIXED=4;..c
0c00: 6f 6e 73 74 20 53 51 4c 5f 49 43 5f 53 45 4e 53  onst SQL_IC_SENS
0c10: 49 54 49 56 45 3d 33 3b 0d 0a 63 6f 6e 73 74 20  ITIVE=3;..const 
0c20: 53 51 4c 5f 49 43 5f 55 50 50 45 52 3d 31 3b 0d  SQL_IC_UPPER=1;.
0c30: 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 44 45 4e 54  .const SQL_IDENT
0c40: 49 46 49 45 52 5f 43 41 53 45 3d 32 38 3b 0d 0a  IFIER_CASE=28;..
0c50: 63 6f 6e 73 74 20 53 51 4c 5f 49 44 45 4e 54 49  const SQL_IDENTI
0c60: 46 49 45 52 5f 51 55 4f 54 45 5f 43 48 41 52 3d  FIER_QUOTE_CHAR=
0c70: 32 39 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c  29;....const SQL
0c80: 5f 49 4e 44 45 58 5f 41 4c 4c 3d 31 3b 0d 0a 63  _INDEX_ALL=1;..c
0c90: 6f 6e 73 74 20 53 51 4c 5f 49 4e 44 45 58 5f 43  onst SQL_INDEX_C
0ca0: 4c 55 53 54 45 52 45 44 3d 31 3b 0d 0a 63 6f 6e  LUSTERED=1;..con
0cb0: 73 74 20 53 51 4c 5f 49 4e 44 45 58 5f 48 41 53  st SQL_INDEX_HAS
0cc0: 48 45 44 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51  HED=2;..const SQ
0cd0: 4c 5f 49 4e 44 45 58 5f 4f 54 48 45 52 3d 33 3b  L_INDEX_OTHER=3;
0ce0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 4e 44 45  ..const SQL_INDE
0cf0: 58 5f 55 4e 49 51 55 45 3d 30 3b 0d 0a 0d 0a 63  X_UNIQUE=0;....c
0d00: 6f 6e 73 74 20 53 51 4c 5f 49 4e 54 45 47 45 52  onst SQL_INTEGER
0d10: 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 49  =4;..const SQL_I
0d20: 4e 54 45 47 52 49 54 59 3d 37 33 3b 0d 0a 63 6f  NTEGRITY=73;..co
0d30: 6e 73 74 20 53 51 4c 5f 49 4e 56 41 4c 49 44 5f  nst SQL_INVALID_
0d40: 48 41 4e 44 4c 45 3d 2d 32 3b 0d 0a 0d 0a 63 6f  HANDLE=-2;....co
0d50: 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43 41 54 41  nst SQL_MAX_CATA
0d60: 4c 4f 47 5f 4e 41 4d 45 5f 4c 45 4e 3d 33 34 3b  LOG_NAME_LEN=34;
0d70: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f  ..const SQL_MAX_
0d80: 43 4f 4c 55 4d 4e 5f 4e 41 4d 45 5f 4c 45 4e 3d  COLUMN_NAME_LEN=
0d90: 33 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d  30;..const SQL_M
0da0: 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52  AX_COLUMNS_IN_GR
0db0: 4f 55 50 5f 42 59 3d 39 37 3b 0d 0a 63 6f 6e 73  OUP_BY=97;..cons
0dc0: 74 20 53 51 4c 5f 4d 41 58 5f 43 4f 4c 55 4d 4e  t SQL_MAX_COLUMN
0dd0: 53 5f 49 4e 5f 49 4e 44 45 58 3d 39 38 3b 0d 0a  S_IN_INDEX=98;..
0de0: 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43 4f  const SQL_MAX_CO
0df0: 4c 55 4d 4e 53 5f 49 4e 5f 4f 52 44 45 52 5f 42  LUMNS_IN_ORDER_B
0e00: 59 3d 39 39 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  Y=99;..const SQL
0e10: 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f  _MAX_COLUMNS_IN_
0e20: 53 45 4c 45 43 54 3d 31 30 30 3b 0d 0a 63 6f 6e  SELECT=100;..con
0e30: 73 74 20 53 51 4c 5f 4d 41 58 5f 43 4f 4c 55 4d  st SQL_MAX_COLUM
0e40: 4e 53 5f 49 4e 5f 54 41 42 4c 45 3d 31 30 31 3b  NS_IN_TABLE=101;
0e50: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f  ..const SQL_MAX_
0e60: 43 55 52 53 4f 52 5f 4e 41 4d 45 5f 4c 45 4e 3d  CURSOR_NAME_LEN=
0e70: 33 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d  31;..const SQL_M
0e80: 41 58 5f 49 4e 44 45 58 5f 53 49 5a 45 3d 31 30  AX_INDEX_SIZE=10
0e90: 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  2;..const SQL_MA
0ea0: 58 5f 4d 45 53 53 41 47 45 5f 4c 45 4e 47 54 48  X_MESSAGE_LENGTH
0eb0: 3d 35 31 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  =512;..const SQL
0ec0: 5f 4d 41 58 5f 52 4f 57 5f 53 49 5a 45 3d 31 30  _MAX_ROW_SIZE=10
0ed0: 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  4;..const SQL_MA
0ee0: 58 5f 53 43 48 45 4d 41 5f 4e 41 4d 45 5f 4c 45  X_SCHEMA_NAME_LE
0ef0: 4e 3d 33 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  N=32;..const SQL
0f00: 5f 4d 41 58 5f 53 54 41 54 45 4d 45 4e 54 5f 4c  _MAX_STATEMENT_L
0f10: 45 4e 3d 31 30 35 3b 0d 0a 63 6f 6e 73 74 20 53  EN=105;..const S
0f20: 51 4c 5f 4d 41 58 5f 54 41 42 4c 45 5f 4e 41 4d  QL_MAX_TABLE_NAM
0f30: 45 5f 4c 45 4e 3d 33 35 3b 0d 0a 63 6f 6e 73 74  E_LEN=35;..const
0f40: 20 53 51 4c 5f 4d 41 58 5f 54 41 42 4c 45 53 5f   SQL_MAX_TABLES_
0f50: 49 4e 5f 53 45 4c 45 43 54 3d 31 30 36 3b 0d 0a  IN_SELECT=106;..
0f60: 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 55 53  const SQL_MAX_US
0f70: 45 52 5f 4e 41 4d 45 5f 4c 45 4e 3d 31 30 37 3b  ER_NAME_LEN=107;
0f80: 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  ....const SQL_MA
0f90: 58 49 4d 55 4d 5f 43 41 54 41 4c 4f 47 5f 4e 41  XIMUM_CATALOG_NA
0fa0: 4d 45 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41  ME_LENGTH=SQL_MA
0fb0: 58 5f 43 41 54 41 4c 4f 47 5f 4e 41 4d 45 5f 4c  X_CATALOG_NAME_L
0fc0: 45 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d  EN;..const SQL_M
0fd0: 41 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 5f 4e 41  AXIMUM_COLUMN_NA
0fe0: 4d 45 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41  ME_LENGTH=SQL_MA
0ff0: 58 5f 43 4f 4c 55 4d 4e 5f 4e 41 4d 45 5f 4c 45  X_COLUMN_NAME_LE
1000: 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  N;..const SQL_MA
1010: 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 53 5f 49 4e  XIMUM_COLUMNS_IN
1020: 5f 47 52 4f 55 50 5f 42 59 3d 53 51 4c 5f 4d 41  _GROUP_BY=SQL_MA
1030: 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52 4f  X_COLUMNS_IN_GRO
1040: 55 50 5f 42 59 3b 0d 0a 63 6f 6e 73 74 20 53 51  UP_BY;..const SQ
1050: 4c 5f 4d 41 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e  L_MAXIMUM_COLUMN
1060: 53 5f 49 4e 5f 49 4e 44 45 58 3d 53 51 4c 5f 4d  S_IN_INDEX=SQL_M
1070: 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 49 4e  AX_COLUMNS_IN_IN
1080: 44 45 58 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f  DEX;..const SQL_
1090: 4d 41 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 53 5f  MAXIMUM_COLUMNS_
10a0: 49 4e 5f 4f 52 44 45 52 5f 42 59 3d 53 51 4c 5f  IN_ORDER_BY=SQL_
10b0: 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 4f  MAX_COLUMNS_IN_O
10c0: 52 44 45 52 5f 42 59 3b 0d 0a 63 6f 6e 73 74 20  RDER_BY;..const 
10d0: 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 43 4f 4c 55  SQL_MAXIMUM_COLU
10e0: 4d 4e 53 5f 49 4e 5f 53 45 4c 45 43 54 3d 53 51  MNS_IN_SELECT=SQ
10f0: 4c 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e  L_MAX_COLUMNS_IN
1100: 5f 53 45 4c 45 43 54 3b 0d 0a 63 6f 6e 73 74 20  _SELECT;..const 
1110: 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 43 55 52 53  SQL_MAXIMUM_CURS
1120: 4f 52 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 3d 53  OR_NAME_LENGTH=S
1130: 51 4c 5f 4d 41 58 5f 43 55 52 53 4f 52 5f 4e 41  QL_MAX_CURSOR_NA
1140: 4d 45 5f 4c 45 4e 3b 0d 0a 63 6f 6e 73 74 20 53  ME_LEN;..const S
1150: 51 4c 5f 4d 41 58 49 4d 55 4d 5f 49 4e 44 45 58  QL_MAXIMUM_INDEX
1160: 5f 53 49 5a 45 3d 53 51 4c 5f 4d 41 58 5f 49 4e  _SIZE=SQL_MAX_IN
1170: 44 45 58 5f 53 49 5a 45 3b 0d 0a 63 6f 6e 73 74  DEX_SIZE;..const
1180: 20 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 52 4f 57   SQL_MAXIMUM_ROW
1190: 5f 53 49 5a 45 3d 53 51 4c 5f 4d 41 58 5f 52 4f  _SIZE=SQL_MAX_RO
11a0: 57 5f 53 49 5a 45 3b 0d 0a 63 6f 6e 73 74 20 53  W_SIZE;..const S
11b0: 51 4c 5f 4d 41 58 49 4d 55 4d 5f 53 43 48 45 4d  QL_MAXIMUM_SCHEM
11c0: 41 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 3d 53 51  A_NAME_LENGTH=SQ
11d0: 4c 5f 4d 41 58 5f 53 43 48 45 4d 41 5f 4e 41 4d  L_MAX_SCHEMA_NAM
11e0: 45 5f 4c 45 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51  E_LEN;..const SQ
11f0: 4c 5f 4d 41 58 49 4d 55 4d 5f 53 54 41 54 45 4d  L_MAXIMUM_STATEM
1200: 45 4e 54 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d  ENT_LENGTH=SQL_M
1210: 41 58 5f 53 54 41 54 45 4d 45 4e 54 5f 4c 45 4e  AX_STATEMENT_LEN
1220: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58  ;..const SQL_MAX
1230: 49 4d 55 4d 5f 54 41 42 4c 45 53 5f 49 4e 5f 53  IMUM_TABLES_IN_S
1240: 45 4c 45 43 54 3d 53 51 4c 5f 4d 41 58 5f 54 41  ELECT=SQL_MAX_TA
1250: 42 4c 45 53 5f 49 4e 5f 53 45 4c 45 43 54 3b 0d  BLES_IN_SELECT;.
1260: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d  .const SQL_MAXIM
1270: 55 4d 5f 55 53 45 52 5f 4e 41 4d 45 5f 4c 45 4e  UM_USER_NAME_LEN
1280: 47 54 48 3d 53 51 4c 5f 4d 41 58 5f 55 53 45 52  GTH=SQL_MAX_USER
1290: 5f 4e 41 4d 45 5f 4c 45 4e 3b 0d 0a 0d 0a 63 6f  _NAME_LEN;....co
12a0: 6e 73 74 20 53 51 4c 5f 4e 43 5f 48 49 47 48 3d  nst SQL_NC_HIGH=
12b0: 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 43  0;..const SQL_NC
12c0: 5f 4c 4f 57 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53  _LOW=1;..const S
12d0: 51 4c 5f 4e 45 45 44 5f 44 41 54 41 3d 39 39 3b  QL_NEED_DATA=99;
12e0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 4f 5f 4e  ..const SQL_NO_N
12f0: 55 4c 4c 53 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53  ULLS=0;..const S
1300: 51 4c 5f 4e 54 53 3d 2d 33 3b 0d 0a 63 6f 6e 73  QL_NTS=-3;..cons
1310: 74 20 4c 4f 4e 47 20 53 51 4c 5f 4e 54 53 4c 3d  t LONG SQL_NTSL=
1320: 2d 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e  -3;..const SQL_N
1330: 55 4c 4c 5f 43 4f 4c 4c 41 54 49 4f 4e 3d 38 35  ULL_COLLATION=85
1340: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 4c  ;..const SQL_NUL
1350: 4c 5f 44 41 54 41 3d 2d 31 3b 0d 0a 63 6f 6e 73  L_DATA=-1;..cons
1360: 74 20 53 51 4c 5f 4e 55 4c 4c 5f 48 44 42 43 3d  t SQL_NULL_HDBC=
1370: 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 55  0;..const SQL_NU
1380: 4c 4c 5f 48 45 4e 56 3d 30 3b 0d 0a 63 6f 6e 73  LL_HENV=0;..cons
1390: 74 20 53 51 4c 5f 4e 55 4c 4c 5f 48 53 54 4d 54  t SQL_NULL_HSTMT
13a0: 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e  =0;..const SQL_N
13b0: 55 4c 4c 41 42 4c 45 3d 31 3b 0d 0a 63 6f 6e 73  ULLABLE=1;..cons
13c0: 74 20 53 51 4c 5f 4e 55 4c 4c 41 42 4c 45 5f 55  t SQL_NULLABLE_U
13d0: 4e 4b 4e 4f 57 4e 3d 32 3b 0d 0a 63 6f 6e 73 74  NKNOWN=2;..const
13e0: 20 53 51 4c 5f 4e 55 4d 45 52 49 43 3d 32 3b 0d   SQL_NUMERIC=2;.
13f0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4f 52 44 45 52  .const SQL_ORDER
1400: 5f 42 59 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 53  _BY_COLUMNS_IN_S
1410: 45 4c 45 43 54 3d 39 30 3b 0d 0a 63 6f 6e 73 74  ELECT=90;..const
1420: 20 53 51 4c 5f 50 43 5f 50 53 45 55 44 4f 3d 32   SQL_PC_PSEUDO=2
1430: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 50 43 5f  ;..const SQL_PC_
1440: 55 4e 4b 4e 4f 57 4e 3d 30 3b 0d 0a 63 6f 6e 73  UNKNOWN=0;..cons
1450: 74 20 53 51 4c 5f 52 45 41 4c 3d 37 3b 0d 0a 63  t SQL_REAL=7;..c
1460: 6f 6e 73 74 20 53 51 4c 5f 52 45 53 45 54 5f 50  onst SQL_RESET_P
1470: 41 52 41 4d 53 3d 33 3b 0d 0a 63 6f 6e 73 74 20  ARAMS=3;..const 
1480: 53 51 4c 5f 52 4f 4c 4c 42 41 43 4b 3d 31 3b 0d  SQL_ROLLBACK=1;.
1490: 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 43 43 4f 5f  .const SQL_SCCO_
14a0: 4c 4f 43 4b 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53  LOCK=2;..const S
14b0: 51 4c 5f 53 43 43 4f 5f 4f 50 54 5f 52 4f 57 56  QL_SCCO_OPT_ROWV
14c0: 45 52 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  ER=4;..const SQL
14d0: 5f 53 43 43 4f 5f 4f 50 54 5f 56 41 4c 55 45 53  _SCCO_OPT_VALUES
14e0: 3d 38 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53  =8;..const SQL_S
14f0: 43 43 4f 5f 52 45 41 44 5f 4f 4e 4c 59 3d 31 3b  CCO_READ_ONLY=1;
1500: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 43 4f 50  ..const SQL_SCOP
1510: 45 5f 43 55 52 52 4f 57 3d 30 3b 0d 0a 63 6f 6e  E_CURROW=0;..con
1520: 73 74 20 53 51 4c 5f 53 43 4f 50 45 5f 53 45 53  st SQL_SCOPE_SES
1530: 53 49 4f 4e 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53  SION=2;..const S
1540: 51 4c 5f 53 43 4f 50 45 5f 54 52 41 4e 53 41 43  QL_SCOPE_TRANSAC
1550: 54 49 4f 4e 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53  TION=1;..const S
1560: 51 4c 5f 53 43 52 4f 4c 4c 5f 43 4f 4e 43 55 52  QL_SCROLL_CONCUR
1570: 52 45 4e 43 59 3d 34 33 3b 0d 0a 63 6f 6e 73 74  RENCY=43;..const
1580: 20 53 51 4c 5f 53 45 41 52 43 48 5f 50 41 54 54   SQL_SEARCH_PATT
1590: 45 52 4e 5f 45 53 43 41 50 45 3d 31 34 3b 0d 0a  ERN_ESCAPE=14;..
15a0: 63 6f 6e 73 74 20 53 51 4c 5f 53 45 52 56 45 52  const SQL_SERVER
15b0: 5f 4e 41 4d 45 3d 31 33 3b 0d 0a 63 6f 6e 73 74  _NAME=13;..const
15c0: 20 53 51 4c 5f 53 4d 41 4c 4c 49 4e 54 3d 35 3b   SQL_SMALLINT=5;
15d0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 50 45 43  ..const SQL_SPEC
15e0: 49 41 4c 5f 43 48 41 52 41 43 54 45 52 53 3d 39  IAL_CHARACTERS=9
15f0: 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 54  4;..const SQL_ST
1600: 49 4c 4c 5f 45 58 45 43 55 54 49 4e 47 3d 32 3b  ILL_EXECUTING=2;
1610: 0d 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e  ..//MACRO #defin
1620: 65 20 53 51 4c 5f 53 55 43 43 45 45 44 45 44 28  e SQL_SUCCEEDED(
1630: 72 63 29 20 28 28 28 72 63 29 26 28 7e 31 29 29  rc) (((rc)&(~1))
1640: 3d 3d 30 29 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51  ==0)....const SQ
1650: 4c 5f 53 55 43 43 45 53 53 3d 30 3b 0d 0a 63 6f  L_SUCCESS=0;..co
1660: 6e 73 74 20 53 51 4c 5f 53 55 43 43 45 53 53 5f  nst SQL_SUCCESS_
1670: 57 49 54 48 5f 49 4e 46 4f 3d 31 3b 0d 0a 0d 0a  WITH_INFO=1;....
1680: 63 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 41 4c 4c  const SQL_TC_ALL
1690: 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54  =2;..const SQL_T
16a0: 43 5f 44 44 4c 5f 43 4f 4d 4d 49 54 3d 33 3b 0d  C_DDL_COMMIT=3;.
16b0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 44 44  .const SQL_TC_DD
16c0: 4c 5f 49 47 4e 4f 52 45 3d 34 3b 0d 0a 63 6f 6e  L_IGNORE=4;..con
16d0: 73 74 20 53 51 4c 5f 54 43 5f 44 4d 4c 3d 31 3b  st SQL_TC_DML=1;
16e0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 4e  ..const SQL_TC_N
16f0: 4f 4e 45 3d 30 3b 0d 0a 0d 0a 0d 0a 63 6f 6e 73  ONE=0;......cons
1700: 74 20 53 51 4c 5f 54 58 4e 5f 43 41 50 41 42 4c  t SQL_TXN_CAPABL
1710: 45 3d 34 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c  E=46;..const SQL
1720: 5f 54 58 4e 5f 49 53 4f 4c 41 54 49 4f 4e 5f 4f  _TXN_ISOLATION_O
1730: 50 54 49 4f 4e 3d 37 32 3b 0d 0a 63 6f 6e 73 74  PTION=72;..const
1740: 20 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f 43 4f   SQL_TXN_READ_CO
1750: 4d 4d 49 54 54 45 44 3d 32 3b 0d 0a 63 6f 6e 73  MMITTED=2;..cons
1760: 74 20 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f 55  t SQL_TXN_READ_U
1770: 4e 43 4f 4d 4d 49 54 54 45 44 3d 31 3b 0d 0a 63  NCOMMITTED=1;..c
1780: 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 52 45 50  onst SQL_TXN_REP
1790: 45 41 54 41 42 4c 45 5f 52 45 41 44 3d 34 3b 0d  EATABLE_READ=4;.
17a0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 53  .const SQL_TXN_S
17b0: 45 52 49 41 4c 49 5a 41 42 4c 45 3d 38 3b 0d 0a  ERIALIZABLE=8;..
17c0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e  ..const SQL_TRAN
17d0: 53 41 43 54 49 4f 4e 5f 43 41 50 41 42 4c 45 3d  SACTION_CAPABLE=
17e0: 53 51 4c 5f 54 58 4e 5f 43 41 50 41 42 4c 45 3b  SQL_TXN_CAPABLE;
17f0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e  ..const SQL_TRAN
1800: 53 41 43 54 49 4f 4e 5f 49 53 4f 4c 41 54 49 4f  SACTION_ISOLATIO
1810: 4e 5f 4f 50 54 49 4f 4e 3d 53 51 4c 5f 54 58 4e  N_OPTION=SQL_TXN
1820: 5f 49 53 4f 4c 41 54 49 4f 4e 5f 4f 50 54 49 4f  _ISOLATION_OPTIO
1830: 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52  N;..const SQL_TR
1840: 41 4e 53 41 43 54 49 4f 4e 5f 52 45 41 44 5f 43  ANSACTION_READ_C
1850: 4f 4d 4d 49 54 54 45 44 3d 53 51 4c 5f 54 58 4e  OMMITTED=SQL_TXN
1860: 5f 52 45 41 44 5f 43 4f 4d 4d 49 54 54 45 44 3b  _READ_COMMITTED;
1870: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e  ..const SQL_TRAN
1880: 53 41 43 54 49 4f 4e 5f 52 45 41 44 5f 55 4e 43  SACTION_READ_UNC
1890: 4f 4d 4d 49 54 54 45 44 3d 53 51 4c 5f 54 58 4e  OMMITTED=SQL_TXN
18a0: 5f 52 45 41 44 5f 55 4e 43 4f 4d 4d 49 54 54 45  _READ_UNCOMMITTE
18b0: 44 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52  D;..const SQL_TR
18c0: 41 4e 53 41 43 54 49 4f 4e 5f 52 45 50 45 41 54  ANSACTION_REPEAT
18d0: 41 42 4c 45 5f 52 45 41 44 3d 53 51 4c 5f 54 58  ABLE_READ=SQL_TX
18e0: 4e 5f 52 45 50 45 41 54 41 42 4c 45 5f 52 45 41  N_REPEATABLE_REA
18f0: 44 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52  D;..const SQL_TR
1900: 41 4e 53 41 43 54 49 4f 4e 5f 53 45 52 49 41 4c  ANSACTION_SERIAL
1910: 49 5a 41 42 4c 45 3d 53 51 4c 5f 54 58 4e 5f 53  IZABLE=SQL_TXN_S
1920: 45 52 49 41 4c 49 5a 41 42 4c 45 3b 0d 0a 0d 0a  ERIALIZABLE;....
1930: 63 6f 6e 73 74 20 53 51 4c 5f 55 4e 42 49 4e 44  const SQL_UNBIND
1940: 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 55  =2;..const SQL_U
1950: 4e 4b 4e 4f 57 4e 5f 54 59 50 45 3d 30 3b 0d 0a  NKNOWN_TYPE=0;..
1960: 63 6f 6e 73 74 20 53 51 4c 5f 55 53 45 52 5f 4e  const SQL_USER_N
1970: 41 4d 45 3d 34 37 3b 0d 0a 63 6f 6e 73 74 20 53  AME=47;..const S
1980: 51 4c 5f 56 41 52 43 48 41 52 3d 31 32 3b 0d 0a  QL_VARCHAR=12;..
1990: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 4f 44 42  ..static if (ODB
19a0: 43 56 45 52 20 3e 3d 20 30 78 30 32 30 30 29 20  CVER >= 0x0200) 
19b0: 7b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54  {...const SQL_AT
19c0: 5f 41 44 44 5f 43 4f 4c 55 4d 4e 20 20 3d 20 31  _ADD_COLUMN  = 1
19d0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54  ;...const SQL_AT
19e0: 5f 44 52 4f 50 5f 43 4f 4c 55 4d 4e 20 3d 20 32  _DROP_COLUMN = 2
19f0: 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  ;..}....static i
1a00: 66 20 28 4f 44 42 43 56 45 52 20 3e 3d 20 30 78  f (ODBCVER >= 0x
1a10: 30 32 30 31 29 20 7b 0d 0a 09 63 6f 6e 73 74 20  0201) {...const 
1a20: 53 51 4c 5f 4f 4a 5f 4c 45 46 54 20 20 20 20 20  SQL_OJ_LEFT     
1a30: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 3b 0d            =  1;.
1a40: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 52  ..const SQL_OJ_R
1a50: 49 47 48 54 20 20 20 20 20 20 20 20 20 20 20 20  IGHT            
1a60: 20 20 3d 20 20 32 3b 0d 0a 09 63 6f 6e 73 74 20    =  2;...const 
1a70: 53 51 4c 5f 4f 4a 5f 46 55 4c 4c 20 20 20 20 20  SQL_OJ_FULL     
1a80: 20 20 20 20 20 20 20 20 20 20 3d 20 20 34 3b 0d            =  4;.
1a90: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 4e  ..const SQL_OJ_N
1aa0: 45 53 54 45 44 20 20 20 20 20 20 20 20 20 20 20  ESTED           
1ab0: 20 20 3d 20 20 38 3b 0d 0a 09 63 6f 6e 73 74 20    =  8;...const 
1ac0: 53 51 4c 5f 4f 4a 5f 4e 4f 54 5f 4f 52 44 45 52  SQL_OJ_NOT_ORDER
1ad0: 45 44 20 20 20 20 20 20 20 20 3d 20 31 36 3b 0d  ED        = 16;.
1ae0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 49  ..const SQL_OJ_I
1af0: 4e 4e 45 52 20 20 20 20 20 20 20 20 20 20 20 20  NNER            
1b00: 20 20 3d 20 33 32 3b 0d 0a 09 63 6f 6e 73 74 20    = 32;...const 
1b10: 53 51 4c 5f 4f 4a 5f 41 4c 4c 5f 43 4f 4d 50 41  SQL_OJ_ALL_COMPA
1b20: 52 49 53 4f 4e 5f 4f 50 53 20 3d 20 36 34 3b 0d  RISON_OPS = 64;.
1b30: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
1b40: 28 4f 44 42 43 56 45 52 20 3e 3d 20 30 78 30 33  (ODBCVER >= 0x03
1b50: 30 30 29 20 7b 0d 0a 09 63 6f 6e 73 74 20 53 51  00) {...const SQ
1b60: 4c 5f 41 4d 5f 43 4f 4e 4e 45 43 54 49 4f 4e 3d  L_AM_CONNECTION=
1b70: 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41  1;...const SQL_A
1b80: 4d 5f 4e 4f 4e 45 3d 30 3b 0d 0a 09 63 6f 6e 73  M_NONE=0;...cons
1b90: 74 20 53 51 4c 5f 41 4d 5f 53 54 41 54 45 4d 45  t SQL_AM_STATEME
1ba0: 4e 54 3d 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51  NT=2;...const SQ
1bb0: 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f 43 48 41  L_API_SQLALLOCHA
1bc0: 4e 44 4c 45 3d 31 30 30 31 3b 0d 0a 09 63 6f 6e  NDLE=1001;...con
1bd0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 42 49  st SQL_API_SQLBI
1be0: 4e 44 50 41 52 41 4d 3d 31 30 30 32 3b 0d 0a 09  NDPARAM=1002;...
1bf0: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
1c00: 4c 43 4c 4f 53 45 43 55 52 53 4f 52 3d 31 30 30  LCLOSECURSOR=100
1c10: 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41  3;...const SQL_A
1c20: 50 49 5f 53 51 4c 43 4f 4c 41 54 54 52 49 42 55  PI_SQLCOLATTRIBU
1c30: 54 45 3d 36 3b 0d 0a 09 63 6f 6e 73 74 20 53 51  TE=6;...const SQ
1c40: 4c 5f 41 50 49 5f 53 51 4c 43 4f 50 59 44 45 53  L_API_SQLCOPYDES
1c50: 43 3d 31 30 30 34 3b 0d 0a 09 63 6f 6e 73 74 20  C=1004;...const 
1c60: 53 51 4c 5f 41 50 49 5f 53 51 4c 45 4e 44 54 52  SQL_API_SQLENDTR
1c70: 41 4e 3d 31 30 30 35 3b 0d 0a 09 63 6f 6e 73 74  AN=1005;...const
1c80: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 46 45 54 43   SQL_API_SQLFETC
1c90: 48 53 43 52 4f 4c 4c 3d 31 30 32 31 3b 0d 0a 09  HSCROLL=1021;...
1ca0: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
1cb0: 4c 46 52 45 45 48 41 4e 44 4c 45 3d 31 30 30 36  LFREEHANDLE=1006
1cc0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50  ;...const SQL_AP
1cd0: 49 5f 53 51 4c 47 45 54 43 4f 4e 4e 45 43 54 41  I_SQLGETCONNECTA
1ce0: 54 54 52 3d 31 30 30 37 3b 0d 0a 09 63 6f 6e 73  TTR=1007;...cons
1cf0: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54  t SQL_API_SQLGET
1d00: 44 45 53 43 46 49 45 4c 44 3d 31 30 30 38 3b 0d  DESCFIELD=1008;.
1d10: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f  ..const SQL_API_
1d20: 53 51 4c 47 45 54 44 45 53 43 52 45 43 3d 31 30  SQLGETDESCREC=10
1d30: 30 39 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  09;...const SQL_
1d40: 41 50 49 5f 53 51 4c 47 45 54 44 49 41 47 46 49  API_SQLGETDIAGFI
1d50: 45 4c 44 3d 31 30 31 30 3b 0d 0a 09 63 6f 6e 73  ELD=1010;...cons
1d60: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54  t SQL_API_SQLGET
1d70: 44 49 41 47 52 45 43 3d 31 30 31 31 3b 0d 0a 09  DIAGREC=1011;...
1d80: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
1d90: 4c 47 45 54 45 4e 56 41 54 54 52 3d 31 30 31 32  LGETENVATTR=1012
1da0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50  ;...const SQL_AP
1db0: 49 5f 53 51 4c 47 45 54 53 54 4d 54 41 54 54 52  I_SQLGETSTMTATTR
1dc0: 3d 31 30 31 34 3b 0d 0a 09 63 6f 6e 73 74 20 53  =1014;...const S
1dd0: 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54 43 4f 4e  QL_API_SQLSETCON
1de0: 4e 45 43 54 41 54 54 52 3d 31 30 31 36 3b 0d 0a  NECTATTR=1016;..
1df0: 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
1e00: 51 4c 53 45 54 44 45 53 43 46 49 45 4c 44 3d 31  QLSETDESCFIELD=1
1e10: 30 31 37 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  017;...const SQL
1e20: 5f 41 50 49 5f 53 51 4c 53 45 54 44 45 53 43 52  _API_SQLSETDESCR
1e30: 45 43 3d 31 30 31 38 3b 0d 0a 09 63 6f 6e 73 74  EC=1018;...const
1e40: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54 45   SQL_API_SQLSETE
1e50: 4e 56 41 54 54 52 3d 31 30 31 39 3b 0d 0a 09 63  NVATTR=1019;...c
1e60: 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c  onst SQL_API_SQL
1e70: 53 45 54 53 54 4d 54 41 54 54 52 3d 31 30 32 30  SETSTMTATTR=1020
1e80: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 52  ;...const SQL_AR
1e90: 44 5f 54 59 50 45 3d 2d 39 39 3b 0d 0a 09 63 6f  D_TYPE=-99;...co
1ea0: 6e 73 74 20 53 51 4c 5f 41 54 5f 41 44 44 5f 43  nst SQL_AT_ADD_C
1eb0: 4f 4e 53 54 52 41 49 4e 54 3d 38 3b 0d 0a 09 63  ONSTRAINT=8;...c
1ec0: 6f 6e 73 74 20 53 51 4c 5f 41 54 54 52 5f 41 50  onst SQL_ATTR_AP
1ed0: 50 5f 50 41 52 41 4d 5f 44 45 53 43 3d 31 30 30  P_PARAM_DESC=100
1ee0: 31 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  11;...const SQL_
1ef0: 41 54 54 52 5f 41 50 50 5f 52 4f 57 5f 44 45 53  ATTR_APP_ROW_DES
1f00: 43 3d 31 30 30 31 30 3b 0d 0a 09 63 6f 6e 73 74  C=10010;...const
1f10: 20 53 51 4c 5f 41 54 54 52 5f 41 55 54 4f 5f 49   SQL_ATTR_AUTO_I
1f20: 50 44 3d 31 30 30 30 31 3b 0d 0a 09 63 6f 6e 73  PD=10001;...cons
1f30: 74 20 53 51 4c 5f 41 54 54 52 5f 43 55 52 53 4f  t SQL_ATTR_CURSO
1f40: 52 5f 53 43 52 4f 4c 4c 41 42 4c 45 3d 2d 31 3b  R_SCROLLABLE=-1;
1f50: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 54  ...const SQL_ATT
1f60: 52 5f 43 55 52 53 4f 52 5f 53 45 4e 53 49 54 49  R_CURSOR_SENSITI
1f70: 56 49 54 59 3d 2d 32 3b 0d 0a 09 63 6f 6e 73 74  VITY=-2;...const
1f80: 20 53 51 4c 5f 41 54 54 52 5f 49 4d 50 5f 50 41   SQL_ATTR_IMP_PA
1f90: 52 41 4d 5f 44 45 53 43 3d 31 30 30 31 33 3b 0d  RAM_DESC=10013;.
1fa0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 54 52  ..const SQL_ATTR
1fb0: 5f 49 4d 50 5f 52 4f 57 5f 44 45 53 43 3d 31 30  _IMP_ROW_DESC=10
1fc0: 30 31 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  012;...const SQL
1fd0: 5f 41 54 54 52 5f 4d 45 54 41 44 41 54 41 5f 49  _ATTR_METADATA_I
1fe0: 44 3d 31 30 30 31 34 3b 0d 0a 09 63 6f 6e 73 74  D=10014;...const
1ff0: 20 53 51 4c 5f 41 54 54 52 5f 4f 55 54 50 55 54   SQL_ATTR_OUTPUT
2000: 5f 4e 54 53 3d 31 30 30 30 31 3b 0d 0a 09 63 6f  _NTS=10001;...co
2010: 6e 73 74 20 53 51 4c 5f 43 41 54 41 4c 4f 47 5f  nst SQL_CATALOG_
2020: 4e 41 4d 45 3d 31 30 30 30 33 3b 0d 0a 09 63 6f  NAME=10003;...co
2030: 6e 73 74 20 53 51 4c 5f 43 4f 44 45 5f 44 41 54  nst SQL_CODE_DAT
2040: 45 3d 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  E=1;...const SQL
2050: 5f 43 4f 44 45 5f 54 49 4d 45 3d 32 3b 0d 0a 09  _CODE_TIME=2;...
2060: 63 6f 6e 73 74 20 53 51 4c 5f 43 4f 44 45 5f 54  const SQL_CODE_T
2070: 49 4d 45 53 54 41 4d 50 3d 33 3b 0d 0a 09 63 6f  IMESTAMP=3;...co
2080: 6e 73 74 20 53 51 4c 5f 43 4f 4c 4c 41 54 49 4f  nst SQL_COLLATIO
2090: 4e 5f 53 45 51 3d 31 30 30 30 34 3b 0d 0a 09 63  N_SEQ=10004;...c
20a0: 6f 6e 73 74 20 53 51 4c 5f 43 55 52 53 4f 52 5f  onst SQL_CURSOR_
20b0: 53 45 4e 53 49 54 49 56 49 54 59 3d 31 30 30 30  SENSITIVITY=1000
20c0: 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  1;...const SQL_D
20d0: 41 54 45 5f 4c 45 4e 3d 31 30 3b 0d 0a 09 63 6f  ATE_LEN=10;...co
20e0: 6e 73 74 20 53 51 4c 5f 44 41 54 45 54 49 4d 45  nst SQL_DATETIME
20f0: 3d 39 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =9;...const SQL_
2100: 44 45 46 41 55 4c 54 3d 39 39 3b 0d 0a 0d 0a 09  DEFAULT=99;.....
2110: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 41  const SQL_DESC_A
2120: 4c 4c 4f 43 5f 41 55 54 4f 3d 31 3b 0d 0a 09 63  LLOC_AUTO=1;...c
2130: 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 41 4c  onst SQL_DESC_AL
2140: 4c 4f 43 5f 55 53 45 52 3d 32 3b 0d 0a 09 63 6f  LOC_USER=2;...co
2150: 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 41 4c 4c  nst SQL_DESC_ALL
2160: 4f 43 5f 54 59 50 45 3d 31 30 39 39 3b 0d 0a 09  OC_TYPE=1099;...
2170: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 43  const SQL_DESC_C
2180: 4f 55 4e 54 3d 31 30 30 31 3b 0d 0a 09 63 6f 6e  OUNT=1001;...con
2190: 73 74 20 53 51 4c 5f 44 45 53 43 5f 54 59 50 45  st SQL_DESC_TYPE
21a0: 3d 31 30 30 32 3b 0d 0a 09 63 6f 6e 73 74 20 53  =1002;...const S
21b0: 51 4c 5f 44 45 53 43 5f 4c 45 4e 47 54 48 3d 31  QL_DESC_LENGTH=1
21c0: 30 30 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  003;...const SQL
21d0: 5f 44 45 53 43 5f 4f 43 54 45 54 5f 4c 45 4e 47  _DESC_OCTET_LENG
21e0: 54 48 5f 50 54 52 3d 31 30 30 34 3b 0d 0a 09 63  TH_PTR=1004;...c
21f0: 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 50 52  onst SQL_DESC_PR
2200: 45 43 49 53 49 4f 4e 3d 31 30 30 35 3b 0d 0a 09  ECISION=1005;...
2210: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 53  const SQL_DESC_S
2220: 43 41 4c 45 3d 31 30 30 36 3b 0d 0a 09 63 6f 6e  CALE=1006;...con
2230: 73 74 20 53 51 4c 5f 44 45 53 43 5f 44 41 54 45  st SQL_DESC_DATE
2240: 54 49 4d 45 5f 49 4e 54 45 52 56 41 4c 5f 43 4f  TIME_INTERVAL_CO
2250: 44 45 3d 31 30 30 37 3b 0d 0a 09 63 6f 6e 73 74  DE=1007;...const
2260: 20 53 51 4c 5f 44 45 53 43 5f 4e 55 4c 4c 41 42   SQL_DESC_NULLAB
2270: 4c 45 3d 31 30 30 38 3b 0d 0a 09 63 6f 6e 73 74  LE=1008;...const
2280: 20 53 51 4c 5f 44 45 53 43 5f 49 4e 44 49 43 41   SQL_DESC_INDICA
2290: 54 4f 52 5f 50 54 52 3d 31 30 30 39 3b 0d 0a 09  TOR_PTR=1009;...
22a0: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 44  const SQL_DESC_D
22b0: 41 54 41 5f 50 54 52 3d 31 30 31 30 3b 0d 0a 09  ATA_PTR=1010;...
22c0: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 4e  const SQL_DESC_N
22d0: 41 4d 45 3d 31 30 31 31 3b 0d 0a 09 63 6f 6e 73  AME=1011;...cons
22e0: 74 20 53 51 4c 5f 44 45 53 43 5f 55 4e 4e 41 4d  t SQL_DESC_UNNAM
22f0: 45 44 3d 31 30 31 32 3b 0d 0a 09 63 6f 6e 73 74  ED=1012;...const
2300: 20 53 51 4c 5f 44 45 53 43 5f 4f 43 54 45 54 5f   SQL_DESC_OCTET_
2310: 4c 45 4e 47 54 48 3d 31 30 31 33 3b 0d 0a 0d 0a  LENGTH=1013;....
2320: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 52  .const SQL_DESCR
2330: 49 42 45 5f 50 41 52 41 4d 45 54 45 52 3d 31 30  IBE_PARAMETER=10
2340: 30 30 32 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 53  002;.....const S
2350: 51 4c 5f 44 49 41 47 5f 41 4c 54 45 52 5f 44 4f  QL_DIAG_ALTER_DO
2360: 4d 41 49 4e 3d 33 3b 0d 0a 09 63 6f 6e 73 74 20  MAIN=3;...const 
2370: 53 51 4c 5f 44 49 41 47 5f 41 4c 54 45 52 5f 54  SQL_DIAG_ALTER_T
2380: 41 42 4c 45 3d 34 3b 0d 0a 09 63 6f 6e 73 74 20  ABLE=4;...const 
2390: 53 51 4c 5f 44 49 41 47 5f 43 41 4c 4c 3d 37 3b  SQL_DIAG_CALL=7;
23a0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41  ...const SQL_DIA
23b0: 47 5f 43 4c 41 53 53 5f 4f 52 49 47 49 4e 3d 38  G_CLASS_ORIGIN=8
23c0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49  ;...const SQL_DI
23d0: 41 47 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 4e 41  AG_CONNECTION_NA
23e0: 4d 45 3d 31 30 3b 0d 0a 09 63 6f 6e 73 74 20 53  ME=10;...const S
23f0: 51 4c 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 41  QL_DIAG_CREATE_A
2400: 53 53 45 52 54 49 4f 4e 3d 36 3b 0d 0a 09 63 6f  SSERTION=6;...co
2410: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 45  nst SQL_DIAG_CRE
2420: 41 54 45 5f 43 48 41 52 41 43 54 45 52 5f 53 45  ATE_CHARACTER_SE
2430: 54 3d 38 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  T=8;...const SQL
2440: 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 43 4f 4c  _DIAG_CREATE_COL
2450: 4c 41 54 49 4f 4e 3d 31 30 3b 0d 0a 09 63 6f 6e  LATION=10;...con
2460: 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 45 41  st SQL_DIAG_CREA
2470: 54 45 5f 44 4f 4d 41 49 4e 3d 32 33 3b 0d 0a 09  TE_DOMAIN=23;...
2480: 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 43  const SQL_DIAG_C
2490: 52 45 41 54 45 5f 49 4e 44 45 58 3d 2d 31 3b 0d  REATE_INDEX=-1;.
24a0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
24b0: 5f 43 52 45 41 54 45 5f 53 43 48 45 4d 41 3d 36  _CREATE_SCHEMA=6
24c0: 34 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  4;...const SQL_D
24d0: 49 41 47 5f 43 52 45 41 54 45 5f 54 41 42 4c 45  IAG_CREATE_TABLE
24e0: 3d 37 37 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  =77;...const SQL
24f0: 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 54 52 41  _DIAG_CREATE_TRA
2500: 4e 53 4c 41 54 49 4f 4e 3d 37 39 3b 0d 0a 09 63  NSLATION=79;...c
2510: 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52  onst SQL_DIAG_CR
2520: 45 41 54 45 5f 56 49 45 57 3d 38 34 3b 0d 0a 09  EATE_VIEW=84;...
2530: 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 44  const SQL_DIAG_D
2540: 45 4c 45 54 45 5f 57 48 45 52 45 3d 31 39 3b 0d  ELETE_WHERE=19;.
2550: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
2560: 5f 44 52 4f 50 5f 41 53 53 45 52 54 49 4f 4e 3d  _DROP_ASSERTION=
2570: 32 34 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  24;...const SQL_
2580: 44 49 41 47 5f 44 52 4f 50 5f 43 48 41 52 41 43  DIAG_DROP_CHARAC
2590: 54 45 52 5f 53 45 54 3d 32 35 3b 0d 0a 09 63 6f  TER_SET=25;...co
25a0: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 44 52 4f  nst SQL_DIAG_DRO
25b0: 50 5f 43 4f 4c 4c 41 54 49 4f 4e 3d 32 36 3b 0d  P_COLLATION=26;.
25c0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
25d0: 5f 44 52 4f 50 5f 44 4f 4d 41 49 4e 3d 32 37 3b  _DROP_DOMAIN=27;
25e0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41  ...const SQL_DIA
25f0: 47 5f 44 52 4f 50 5f 49 4e 44 45 58 3d 28 2d 32  G_DROP_INDEX=(-2
2600: 29 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  );...const SQL_D
2610: 49 41 47 5f 44 52 4f 50 5f 53 43 48 45 4d 41 3d  IAG_DROP_SCHEMA=
2620: 33 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  31;...const SQL_
2630: 44 49 41 47 5f 44 52 4f 50 5f 54 41 42 4c 45 3d  DIAG_DROP_TABLE=
2640: 33 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  32;...const SQL_
2650: 44 49 41 47 5f 44 52 4f 50 5f 54 52 41 4e 53 4c  DIAG_DROP_TRANSL
2660: 41 54 49 4f 4e 3d 33 33 3b 0d 0a 09 63 6f 6e 73  ATION=33;...cons
2670: 74 20 53 51 4c 5f 44 49 41 47 5f 44 52 4f 50 5f  t SQL_DIAG_DROP_
2680: 56 49 45 57 3d 33 36 3b 0d 0a 09 63 6f 6e 73 74  VIEW=36;...const
2690: 20 53 51 4c 5f 44 49 41 47 5f 44 59 4e 41 4d 49   SQL_DIAG_DYNAMI
26a0: 43 5f 44 45 4c 45 54 45 5f 43 55 52 53 4f 52 3d  C_DELETE_CURSOR=
26b0: 33 38 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  38;...const SQL_
26c0: 44 49 41 47 5f 44 59 4e 41 4d 49 43 5f 46 55 4e  DIAG_DYNAMIC_FUN
26d0: 43 54 49 4f 4e 3d 37 3b 0d 0a 09 63 6f 6e 73 74  CTION=7;...const
26e0: 20 53 51 4c 5f 44 49 41 47 5f 44 59 4e 41 4d 49   SQL_DIAG_DYNAMI
26f0: 43 5f 46 55 4e 43 54 49 4f 4e 5f 43 4f 44 45 3d  C_FUNCTION_CODE=
2700: 31 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  12;...const SQL_
2710: 44 49 41 47 5f 44 59 4e 41 4d 49 43 5f 55 50 44  DIAG_DYNAMIC_UPD
2720: 41 54 45 5f 43 55 52 53 4f 52 3d 38 31 3b 0d 0a  ATE_CURSOR=81;..
2730: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f  .const SQL_DIAG_
2740: 47 52 41 4e 54 3d 34 38 3b 0d 0a 09 63 6f 6e 73  GRANT=48;...cons
2750: 74 20 53 51 4c 5f 44 49 41 47 5f 49 4e 53 45 52  t SQL_DIAG_INSER
2760: 54 3d 35 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 51  T=50;...const SQ
2770: 4c 5f 44 49 41 47 5f 4d 45 53 53 41 47 45 5f 54  L_DIAG_MESSAGE_T
2780: 45 58 54 3d 36 3b 0d 0a 09 63 6f 6e 73 74 20 53  EXT=6;...const S
2790: 51 4c 5f 44 49 41 47 5f 4e 41 54 49 56 45 3d 35  QL_DIAG_NATIVE=5
27a0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49  ;...const SQL_DI
27b0: 41 47 5f 4e 55 4d 42 45 52 3d 32 3b 0d 0a 09 63  AG_NUMBER=2;...c
27c0: 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 52 45  onst SQL_DIAG_RE
27d0: 54 55 52 4e 43 4f 44 45 3d 31 3b 0d 0a 09 63 6f  TURNCODE=1;...co
27e0: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 52 45 56  nst SQL_DIAG_REV
27f0: 4f 4b 45 3d 35 39 3b 0d 0a 09 63 6f 6e 73 74 20  OKE=59;...const 
2800: 53 51 4c 5f 44 49 41 47 5f 52 4f 57 5f 43 4f 55  SQL_DIAG_ROW_COU
2810: 4e 54 3d 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51  NT=3;...const SQ
2820: 4c 5f 44 49 41 47 5f 53 45 4c 45 43 54 5f 43 55  L_DIAG_SELECT_CU
2830: 52 53 4f 52 3d 38 35 3b 0d 0a 09 63 6f 6e 73 74  RSOR=85;...const
2840: 20 53 51 4c 5f 44 49 41 47 5f 53 45 52 56 45 52   SQL_DIAG_SERVER
2850: 5f 4e 41 4d 45 3d 31 31 3b 0d 0a 09 63 6f 6e 73  _NAME=11;...cons
2860: 74 20 53 51 4c 5f 44 49 41 47 5f 53 51 4c 53 54  t SQL_DIAG_SQLST
2870: 41 54 45 3d 34 3b 0d 0a 09 63 6f 6e 73 74 20 53  ATE=4;...const S
2880: 51 4c 5f 44 49 41 47 5f 53 55 42 43 4c 41 53 53  QL_DIAG_SUBCLASS
2890: 5f 4f 52 49 47 49 4e 3d 39 3b 0d 0a 09 63 6f 6e  _ORIGIN=9;...con
28a0: 73 74 20 53 51 4c 5f 44 49 41 47 5f 55 4e 4b 4e  st SQL_DIAG_UNKN
28b0: 4f 57 4e 5f 53 54 41 54 45 4d 45 4e 54 3d 30 3b  OWN_STATEMENT=0;
28c0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41  ...const SQL_DIA
28d0: 47 5f 55 50 44 41 54 45 5f 57 48 45 52 45 3d 38  G_UPDATE_WHERE=8
28e0: 32 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  2;.....const SQL
28f0: 5f 46 41 4c 53 45 3d 30 3b 0d 0a 09 63 6f 6e 73  _FALSE=0;...cons
2900: 74 20 53 51 4c 5f 48 41 4e 44 4c 45 5f 44 42 43  t SQL_HANDLE_DBC
2910: 3d 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =2;...const SQL_
2920: 48 41 4e 44 4c 45 5f 44 45 53 43 3d 34 3b 0d 0a  HANDLE_DESC=4;..
2930: 09 63 6f 6e 73 74 20 53 51 4c 5f 48 41 4e 44 4c  .const SQL_HANDL
2940: 45 5f 45 4e 56 3d 31 3b 0d 0a 09 63 6f 6e 73 74  E_ENV=1;...const
2950: 20 53 51 4c 5f 48 41 4e 44 4c 45 5f 53 54 4d 54   SQL_HANDLE_STMT
2960: 3d 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =3;...const SQL_
2970: 49 4e 53 45 4e 53 49 54 49 56 45 3d 31 3b 0d 0a  INSENSITIVE=1;..
2980: 09 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43  .const SQL_MAX_C
2990: 4f 4e 43 55 52 52 45 4e 54 5f 41 43 54 49 56 49  ONCURRENT_ACTIVI
29a0: 54 49 45 53 3d 31 3b 0d 0a 09 63 6f 6e 73 74 20  TIES=1;...const 
29b0: 53 51 4c 5f 4d 41 58 5f 44 52 49 56 45 52 5f 43  SQL_MAX_DRIVER_C
29c0: 4f 4e 4e 45 43 54 49 4f 4e 53 3d 30 3b 0d 0a 09  ONNECTIONS=0;...
29d0: 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 49 44  const SQL_MAX_ID
29e0: 45 4e 54 49 46 49 45 52 5f 4c 45 4e 3d 31 30 30  ENTIFIER_LEN=100
29f0: 30 35 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  05;...const SQL_
2a00: 4d 41 58 49 4d 55 4d 5f 43 4f 4e 43 55 52 52 45  MAXIMUM_CONCURRE
2a10: 4e 54 5f 41 43 54 49 56 49 54 49 45 53 3d 53 51  NT_ACTIVITIES=SQ
2a20: 4c 5f 4d 41 58 5f 43 4f 4e 43 55 52 52 45 4e 54  L_MAX_CONCURRENT
2a30: 5f 41 43 54 49 56 49 54 49 45 53 3b 0d 0a 09 63  _ACTIVITIES;...c
2a40: 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d 55 4d  onst SQL_MAXIMUM
2a50: 5f 44 52 49 56 45 52 5f 43 4f 4e 4e 45 43 54 49  _DRIVER_CONNECTI
2a60: 4f 4e 53 3d 53 51 4c 5f 4d 41 58 5f 44 52 49 56  ONS=SQL_MAX_DRIV
2a70: 45 52 5f 43 4f 4e 4e 45 43 54 49 4f 4e 53 3b 0d  ER_CONNECTIONS;.
2a80: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49  ..const SQL_MAXI
2a90: 4d 55 4d 5f 49 44 45 4e 54 49 46 49 45 52 5f 4c  MUM_IDENTIFIER_L
2aa0: 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 58 5f 49 44  ENGTH=SQL_MAX_ID
2ab0: 45 4e 54 49 46 49 45 52 5f 4c 45 4e 3b 0d 0a 09  ENTIFIER_LEN;...
2ac0: 63 6f 6e 73 74 20 53 51 4c 5f 4e 41 4d 45 44 3d  const SQL_NAMED=
2ad0: 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4e  0;...const SQL_N
2ae0: 4f 5f 44 41 54 41 3d 31 30 30 3b 0d 0a 09 63 6f  O_DATA=100;...co
2af0: 6e 73 74 20 53 51 4c 5f 4e 4f 4e 53 43 52 4f 4c  nst SQL_NONSCROL
2b00: 4c 41 42 4c 45 3d 30 3b 0d 0a 09 63 6f 6e 73 74  LABLE=0;...const
2b10: 20 53 51 4c 5f 4e 55 4c 4c 5f 48 41 4e 44 4c 45   SQL_NULL_HANDLE
2b20: 3d 30 4c 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  =0L;...const SQL
2b30: 5f 4e 55 4c 4c 5f 48 44 45 53 43 3d 30 3b 0d 0a  _NULL_HDESC=0;..
2b40: 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 43 41  .const SQL_OJ_CA
2b50: 50 41 42 49 4c 49 54 49 45 53 3d 31 31 35 3b 0d  PABILITIES=115;.
2b60: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 55 54 45  ..const SQL_OUTE
2b70: 52 5f 4a 4f 49 4e 5f 43 41 50 41 42 49 4c 49 54  R_JOIN_CAPABILIT
2b80: 49 45 53 3d 53 51 4c 5f 4f 4a 5f 43 41 50 41 42  IES=SQL_OJ_CAPAB
2b90: 49 4c 49 54 49 45 53 3b 0d 0a 09 63 6f 6e 73 74  ILITIES;...const
2ba0: 20 53 51 4c 5f 50 43 5f 4e 4f 4e 5f 50 53 45 55   SQL_PC_NON_PSEU
2bb0: 44 4f 3d 31 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20  DO=1;.....const 
2bc0: 53 51 4c 5f 50 52 45 44 5f 4e 4f 4e 45 3d 30 3b  SQL_PRED_NONE=0;
2bd0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 50 52 45  ...const SQL_PRE
2be0: 44 5f 43 48 41 52 3d 31 3b 0d 0a 09 63 6f 6e 73  D_CHAR=1;...cons
2bf0: 74 20 53 51 4c 5f 50 52 45 44 5f 42 41 53 49 43  t SQL_PRED_BASIC
2c00: 3d 32 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 53 51  =2;.....const SQ
2c10: 4c 5f 52 4f 57 5f 49 44 45 4e 54 49 46 49 45 52  L_ROW_IDENTIFIER
2c20: 3d 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =1;...const SQL_
2c30: 53 43 52 4f 4c 4c 41 42 4c 45 3d 31 3b 0d 0a 09  SCROLLABLE=1;...
2c40: 63 6f 6e 73 74 20 53 51 4c 5f 53 45 4e 53 49 54  const SQL_SENSIT
2c50: 49 56 45 3d 32 3b 0d 0a 09 63 6f 6e 73 74 20 53  IVE=2;...const S
2c60: 51 4c 5f 54 49 4d 45 5f 4c 45 4e 3d 38 3b 0d 0a  QL_TIME_LEN=8;..
2c70: 09 63 6f 6e 73 74 20 53 51 4c 5f 54 49 4d 45 53  .const SQL_TIMES
2c80: 54 41 4d 50 5f 4c 45 4e 3d 31 39 3b 0d 0a 09 63  TAMP_LEN=19;...c
2c90: 6f 6e 73 74 20 53 51 4c 5f 54 52 55 45 3d 31 3b  onst SQL_TRUE=1;
2ca0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 54 59 50  ...const SQL_TYP
2cb0: 45 5f 44 41 54 45 3d 39 31 3b 0d 0a 09 63 6f 6e  E_DATE=91;...con
2cc0: 73 74 20 53 51 4c 5f 54 59 50 45 5f 54 49 4d 45  st SQL_TYPE_TIME
2cd0: 3d 39 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c  =92;...const SQL
2ce0: 5f 54 59 50 45 5f 54 49 4d 45 53 54 41 4d 50 3d  _TYPE_TIMESTAMP=
2cf0: 39 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  93;...const SQL_
2d00: 55 4e 4e 41 4d 45 44 3d 31 3b 0d 0a 09 63 6f 6e  UNNAMED=1;...con
2d10: 73 74 20 53 51 4c 5f 55 4e 53 50 45 43 49 46 49  st SQL_UNSPECIFI
2d20: 45 44 3d 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 51  ED=0;...const SQ
2d30: 4c 5f 58 4f 50 45 4e 5f 43 4c 49 5f 59 45 41 52  L_XOPEN_CLI_YEAR
2d40: 3d 31 30 30 30 30 3b 0d 0a 7d 2f 2f 23 65 6e 64  =10000;..}//#end
2d50: 69 66 20 2f 2a 20 4f 44 42 43 56 45 52 20 3e 3d  if /* ODBCVER >=
2d60: 20 30 78 30 33 30 30 20 2a 2f 0d 0a 0d 0a 65 78   0x0300 */....ex
2d70: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b  tern (Windows) {
2d80: 0d 0a 09 64 65 70 72 65 63 61 74 65 64 20 7b 0d  ...deprecated {.
2d90: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
2da0: 41 6c 6c 6f 63 43 6f 6e 6e 65 63 74 28 53 51 4c  AllocConnect(SQL
2db0: 48 45 4e 56 2c 20 53 51 4c 48 44 42 43 2a 29 3b  HENV, SQLHDBC*);
2dc0: 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51  ....SQLRETURN SQ
2dd0: 4c 41 6c 6c 6f 63 45 6e 76 28 53 51 4c 48 45 4e  LAllocEnv(SQLHEN
2de0: 56 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52  V*);....SQLRETUR
2df0: 4e 20 53 51 4c 41 6c 6c 6f 63 53 74 6d 74 28 53  N SQLAllocStmt(S
2e00: 51 4c 48 44 42 43 2c 20 53 51 4c 48 53 54 4d 54  QLHDBC, SQLHSTMT
2e10: 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e  *);....SQLRETURN
2e20: 20 53 51 4c 45 72 72 6f 72 28 53 51 4c 48 45 4e   SQLError(SQLHEN
2e30: 56 2c 20 53 51 4c 48 44 42 43 2c 20 53 51 4c 48  V, SQLHDBC, SQLH
2e40: 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20  STMT, SQLCHAR*, 
2e50: 53 51 4c 49 4e 54 45 47 45 52 2a 2c 20 53 51 4c  SQLINTEGER*, SQL
2e60: 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49  CHAR*, SQLSMALLI
2e70: 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a  NT, SQLSMALLINT*
2e80: 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20  );....SQLRETURN 
2e90: 53 51 4c 46 72 65 65 43 6f 6e 6e 65 63 74 28 53  SQLFreeConnect(S
2ea0: 51 4c 48 44 42 43 29 3b 0d 0a 09 09 53 51 4c 52  QLHDBC);....SQLR
2eb0: 45 54 55 52 4e 20 53 51 4c 46 72 65 65 45 6e 76  ETURN SQLFreeEnv
2ec0: 28 53 51 4c 48 45 4e 56 29 3b 0d 0a 09 09 53 51  (SQLHENV);....SQ
2ed0: 4c 52 45 54 55 52 4e 20 53 51 4c 53 65 74 50 61  LRETURN SQLSetPa
2ee0: 72 61 6d 28 53 51 4c 48 53 54 4d 54 2c 20 53 51  ram(SQLHSTMT, SQ
2ef0: 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53  LUSMALLINT, SQLS
2f00: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c  MALLINT, SQLSMAL
2f10: 4c 49 4e 54 2c 20 53 51 4c 55 4c 45 4e 2c 20 53  LINT, SQLULEN, S
2f20: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50  QLSMALLINT, SQLP
2f30: 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2a 29  OINTER, SQLLEN*)
2f40: 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53  ;....SQLRETURN S
2f50: 51 4c 47 65 74 43 6f 6e 6e 65 63 74 4f 70 74 69  QLGetConnectOpti
2f60: 6f 6e 28 53 51 4c 48 44 42 43 2c 20 53 51 4c 55  on(SQLHDBC, SQLU
2f70: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 4f 49  SMALLINT, SQLPOI
2f80: 4e 54 45 52 29 3b 0d 0a 09 09 53 51 4c 52 45 54  NTER);....SQLRET
2f90: 55 52 4e 20 53 51 4c 47 65 74 53 74 6d 74 4f 70  URN SQLGetStmtOp
2fa0: 74 69 6f 6e 28 53 51 4c 48 53 54 4d 54 2c 20 53  tion(SQLHSTMT, S
2fb0: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  QLUSMALLINT, SQL
2fc0: 50 4f 49 4e 54 45 52 29 3b 0d 0a 09 09 53 51 4c  POINTER);....SQL
2fd0: 52 45 54 55 52 4e 20 53 51 4c 53 65 74 43 6f 6e  RETURN SQLSetCon
2fe0: 6e 65 63 74 4f 70 74 69 6f 6e 28 53 51 4c 48 44  nectOption(SQLHD
2ff0: 42 43 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54  BC, SQLUSMALLINT
3000: 2c 20 53 51 4c 55 4c 45 4e 29 3b 0d 0a 09 09 53  , SQLULEN);....S
3010: 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 65 74 53  QLRETURN SQLSetS
3020: 74 6d 74 4f 70 74 69 6f 6e 28 53 51 4c 48 53 54  tmtOption(SQLHST
3030: 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54  MT, SQLUSMALLINT
3040: 2c 20 53 51 4c 52 4f 57 43 4f 55 4e 54 29 3b 0d  , SQLROWCOUNT);.
3050: 0a 09 7d 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20  ..}...SQLRETURN 
3060: 53 51 4c 42 69 6e 64 43 6f 6c 28 53 51 4c 48 53  SQLBindCol(SQLHS
3070: 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e  TMT, SQLUSMALLIN
3080: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20  T, SQLSMALLINT, 
3090: 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c  SQLPOINTER, SQLL
30a0: 45 4e 2c 20 53 51 4c 4c 45 4e 2a 29 3b 0d 0a 09  EN, SQLLEN*);...
30b0: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 61 6e  SQLRETURN SQLCan
30c0: 63 65 6c 28 53 51 4c 48 53 54 4d 54 29 3b 0d 0a  cel(SQLHSTMT);..
30d0: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 6f  .SQLRETURN SQLCo
30e0: 6e 6e 65 63 74 28 53 51 4c 48 44 42 43 2c 20 53  nnect(SQLHDBC, S
30f0: 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c  QLCHAR*, SQLSMAL
3100: 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20  LINT, SQLCHAR*, 
3110: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  SQLSMALLINT, SQL
3120: 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49  CHAR*, SQLSMALLI
3130: 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e  NT);...SQLRETURN
3140: 20 53 51 4c 44 65 73 63 72 69 62 65 43 6f 6c 28   SQLDescribeCol(
3150: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 55 53 4d  SQLHSTMT, SQLUSM
3160: 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a  ALLINT, SQLCHAR*
3170: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
3180: 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c  QLSMALLINT*, SQL
3190: 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 55 4c  SMALLINT*, SQLUL
31a0: 45 4e 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  EN*, SQLSMALLINT
31b0: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29  *, SQLSMALLINT*)
31c0: 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51  ;...SQLRETURN SQ
31d0: 4c 44 69 73 63 6f 6e 6e 65 63 74 28 53 51 4c 48  LDisconnect(SQLH
31e0: 44 42 43 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52  DBC);...SQLRETUR
31f0: 4e 20 53 51 4c 45 78 65 63 44 69 72 65 63 74 28  N SQLExecDirect(
3200: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 41  SQLHSTMT, SQLCHA
3210: 52 2a 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b  R*, SQLINTEGER);
3220: 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
3230: 45 78 65 63 75 74 65 28 53 51 4c 48 53 54 4d 54  Execute(SQLHSTMT
3240: 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53  );...SQLRETURN S
3250: 51 4c 46 65 74 63 68 28 53 51 4c 48 53 54 4d 54  QLFetch(SQLHSTMT
3260: 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53  );...SQLRETURN S
3270: 51 4c 46 72 65 65 53 74 6d 74 28 53 51 4c 48 53  QLFreeStmt(SQLHS
3280: 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e  TMT, SQLUSMALLIN
3290: 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20  T);...SQLRETURN 
32a0: 53 51 4c 47 65 74 43 75 72 73 6f 72 4e 61 6d 65  SQLGetCursorName
32b0: 28 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48  (SQLHSTMT, SQLCH
32c0: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  AR*, SQLSMALLINT
32d0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b  , SQLSMALLINT*);
32e0: 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
32f0: 4e 75 6d 52 65 73 75 6c 74 43 6f 6c 73 28 53 51  NumResultCols(SQ
3300: 4c 48 53 54 4d 54 2c 20 53 51 4c 53 4d 41 4c 4c  LHSTMT, SQLSMALL
3310: 49 4e 54 2a 29 3b 0d 0a 09 53 51 4c 52 45 54 55  INT*);...SQLRETU
3320: 52 4e 20 53 51 4c 50 72 65 70 61 72 65 28 53 51  RN SQLPrepare(SQ
3330: 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a  LHSTMT, SQLCHAR*
3340: 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0d 0a  , SQLINTEGER);..
3350: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 52 6f  .SQLRETURN SQLRo
3360: 77 43 6f 75 6e 74 28 53 51 4c 48 53 54 4d 54 2c  wCount(SQLHSTMT,
3370: 20 53 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 53 51 4c   SQLLEN*);...SQL
3380: 52 45 54 55 52 4e 20 53 51 4c 53 65 74 43 75 72  RETURN SQLSetCur
3390: 73 6f 72 4e 61 6d 65 28 53 51 4c 48 53 54 4d 54  sorName(SQLHSTMT
33a0: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53  , SQLCHAR*, SQLS
33b0: 4d 41 4c 4c 49 4e 54 29 3b 0d 0a 09 53 51 4c 52  MALLINT);...SQLR
33c0: 45 54 55 52 4e 20 53 51 4c 54 72 61 6e 73 61 63  ETURN SQLTransac
33d0: 74 28 53 51 4c 48 45 4e 56 2c 20 53 51 4c 48 44  t(SQLHENV, SQLHD
33e0: 42 43 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54  BC, SQLUSMALLINT
33f0: 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53  );...SQLRETURN S
3400: 51 4c 43 6f 6c 75 6d 6e 73 28 53 51 4c 48 53 54  QLColumns(SQLHST
3410: 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51  MT, SQLCHAR*, SQ
3420: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48  LSMALLINT, SQLCH
3430: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  AR*, SQLSMALLINT
3440: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53  , SQLCHAR*, SQLS
3450: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52  MALLINT, SQLCHAR
3460: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 29 3b  *, SQLSMALLINT);
3470: 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
3480: 47 65 74 44 61 74 61 28 53 51 4c 48 53 54 4d 54  GetData(SQLHSTMT
3490: 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20  , SQLUSMALLINT, 
34a0: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  SQLSMALLINT, SQL
34b0: 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2c  POINTER, SQLLEN,
34c0: 20 53 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 53 51 4c   SQLLEN*);...SQL
34d0: 52 45 54 55 52 4e 20 53 51 4c 47 65 74 46 75 6e  RETURN SQLGetFun
34e0: 63 74 69 6f 6e 73 28 53 51 4c 48 44 42 43 2c 20  ctions(SQLHDBC, 
34f0: 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51  SQLUSMALLINT, SQ
3500: 4c 55 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0d 0a 09  LUSMALLINT*);...
3510: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74  SQLRETURN SQLGet
3520: 49 6e 66 6f 28 53 51 4c 48 44 42 43 2c 20 53 51  Info(SQLHDBC, SQ
3530: 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50  LUSMALLINT, SQLP
3540: 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d 41 4c 4c  OINTER, SQLSMALL
3550: 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  INT, SQLSMALLINT
3560: 2a 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20  *);...SQLRETURN 
3570: 53 51 4c 47 65 74 54 79 70 65 49 6e 66 6f 28 53  SQLGetTypeInfo(S
3580: 51 4c 48 53 54 4d 54 2c 20 53 51 4c 53 4d 41 4c  QLHSTMT, SQLSMAL
3590: 4c 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55  LINT);...SQLRETU
35a0: 52 4e 20 53 51 4c 50 61 72 61 6d 44 61 74 61 28  RN SQLParamData(
35b0: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 50 4f 49  SQLHSTMT, SQLPOI
35c0: 4e 54 45 52 2a 29 3b 0d 0a 09 53 51 4c 52 45 54  NTER*);...SQLRET
35d0: 55 52 4e 20 53 51 4c 50 75 74 44 61 74 61 28 53  URN SQLPutData(S
35e0: 51 4c 48 53 54 4d 54 2c 20 53 51 4c 50 4f 49 4e  QLHSTMT, SQLPOIN
35f0: 54 45 52 2c 20 53 51 4c 4c 45 4e 29 3b 0d 0a 09  TER, SQLLEN);...
3600: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 70 65  SQLRETURN SQLSpe
3610: 63 69 61 6c 43 6f 6c 75 6d 6e 73 28 53 51 4c 48  cialColumns(SQLH
3620: 53 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49  STMT, SQLUSMALLI
3630: 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51  NT, SQLCHAR*, SQ
3640: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48  LSMALLINT, SQLCH
3650: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  AR*, SQLSMALLINT
3660: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53  , SQLCHAR*, SQLS
3670: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 55 53 4d 41  MALLINT, SQLUSMA
3680: 4c 4c 49 4e 54 2c 20 53 51 4c 55 53 4d 41 4c 4c  LLINT, SQLUSMALL
3690: 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52  INT);...SQLRETUR
36a0: 4e 20 53 51 4c 53 74 61 74 69 73 74 69 63 73 28  N SQLStatistics(
36b0: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 41  SQLHSTMT, SQLCHA
36c0: 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c  R*, SQLSMALLINT,
36d0: 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d   SQLCHAR*, SQLSM
36e0: 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a  ALLINT, SQLCHAR*
36f0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
3700: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  QLUSMALLINT, SQL
3710: 55 53 4d 41 4c 4c 49 4e 54 29 3b 0d 0a 09 53 51  USMALLINT);...SQ
3720: 4c 52 45 54 55 52 4e 20 53 51 4c 54 61 62 6c 65  LRETURN SQLTable
3730: 73 28 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43  s(SQLHSTMT, SQLC
3740: 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e  HAR*, SQLSMALLIN
3750: 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c  T, SQLCHAR*, SQL
3760: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41  SMALLINT, SQLCHA
3770: 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c  R*, SQLSMALLINT,
3780: 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d   SQLCHAR*, SQLSM
3790: 41 4c 4c 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 45  ALLINT);...SQLRE
37a0: 54 55 52 4e 20 53 51 4c 44 61 74 61 53 6f 75 72  TURN SQLDataSour
37b0: 63 65 73 28 53 51 4c 48 45 4e 56 2c 20 53 51 4c  ces(SQLHENV, SQL
37c0: 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48  USMALLINT, SQLCH
37d0: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  AR*, SQLSMALLINT
37e0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20  , SQLSMALLINT*, 
37f0: 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41  SQLCHAR*, SQLSMA
3800: 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49  LLINT, SQLSMALLI
3810: 4e 54 2a 29 3b 0d 0a 0d 0a 09 73 74 61 74 69 63  NT*);.....static
3820: 20 69 66 20 28 4f 44 42 43 56 45 52 20 3e 3d 20   if (ODBCVER >= 
3830: 30 78 30 33 30 30 29 20 7b 0d 0a 09 09 53 51 4c  0x0300) {....SQL
3840: 52 45 54 55 52 4e 20 53 51 4c 41 6c 6c 6f 63 48  RETURN SQLAllocH
3850: 61 6e 64 6c 65 28 53 51 4c 53 4d 41 4c 4c 49 4e  andle(SQLSMALLIN
3860: 54 2c 20 53 51 4c 48 41 4e 44 4c 45 2c 20 53 51  T, SQLHANDLE, SQ
3870: 4c 48 41 4e 44 4c 45 2a 29 3b 0d 0a 09 09 53 51  LHANDLE*);....SQ
3880: 4c 52 45 54 55 52 4e 20 53 51 4c 42 69 6e 64 50  LRETURN SQLBindP
3890: 61 72 61 6d 28 53 51 4c 48 53 54 4d 54 2c 20 53  aram(SQLHSTMT, S
38a0: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  QLUSMALLINT, SQL
38b0: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41  SMALLINT, SQLSMA
38c0: 4c 4c 49 4e 54 2c 20 53 51 4c 55 4c 45 4e 2c 20  LLINT, SQLULEN, 
38d0: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  SQLSMALLINT, SQL
38e0: 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2a  POINTER, SQLLEN*
38f0: 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20  );....SQLRETURN 
3900: 53 51 4c 43 6c 6f 73 65 43 75 72 73 6f 72 28 53  SQLCloseCursor(S
3910: 51 4c 48 53 54 4d 54 29 3b 0d 0a 09 09 53 51 4c  QLHSTMT);....SQL
3920: 52 45 54 55 52 4e 20 53 51 4c 43 6f 6c 41 74 74  RETURN SQLColAtt
3930: 72 69 62 75 74 65 28 53 51 4c 48 53 54 4d 54 2c  ribute(SQLHSTMT,
3940: 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53   SQLUSMALLINT, S
3950: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  QLUSMALLINT, SQL
3960: 50 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d 41 4c  POINTER, SQLSMAL
3970: 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e  LINT, SQLSMALLIN
3980: 54 2a 2c 20 53 51 4c 50 4f 49 4e 54 45 52 29 3b  T*, SQLPOINTER);
3990: 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51  ....SQLRETURN SQ
39a0: 4c 43 6f 70 79 44 65 73 63 28 53 51 4c 48 44 45  LCopyDesc(SQLHDE
39b0: 53 43 2c 20 53 51 4c 48 44 45 53 43 29 3b 0d 0a  SC, SQLHDESC);..
39c0: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 45  ..SQLRETURN SQLE
39d0: 6e 64 54 72 61 6e 28 53 51 4c 53 4d 41 4c 4c 49  ndTran(SQLSMALLI
39e0: 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45 2c 20 53  NT, SQLHANDLE, S
39f0: 51 4c 53 4d 41 4c 4c 49 4e 54 29 3b 0d 0a 09 09  QLSMALLINT);....
3a00: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 65 74  SQLRETURN SQLFet
3a10: 63 68 53 63 72 6f 6c 6c 28 53 51 4c 48 53 54 4d  chScroll(SQLHSTM
3a20: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20  T, SQLSMALLINT, 
3a30: 53 51 4c 52 4f 57 4f 46 46 53 45 54 29 3b 0d 0a  SQLROWOFFSET);..
3a40: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46  ..SQLRETURN SQLF
3a50: 72 65 65 48 61 6e 64 6c 65 28 53 51 4c 53 4d 41  reeHandle(SQLSMA
3a60: 4c 4c 49 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45  LLINT, SQLHANDLE
3a70: 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20  );....SQLRETURN 
3a80: 53 51 4c 47 65 74 43 6f 6e 6e 65 63 74 41 74 74  SQLGetConnectAtt
3a90: 72 28 53 51 4c 48 44 42 43 2c 20 53 51 4c 49 4e  r(SQLHDBC, SQLIN
3aa0: 54 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45  TEGER, SQLPOINTE
3ab0: 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 2c 20 53  R, SQLINTEGER, S
3ac0: 51 4c 49 4e 54 45 47 45 52 2a 29 3b 0d 0a 09 09  QLINTEGER*);....
3ad0: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74  SQLRETURN SQLGet
3ae0: 44 65 73 63 46 69 65 6c 64 28 53 51 4c 48 44 45  DescField(SQLHDE
3af0: 53 43 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c  SC, SQLSMALLINT,
3b00: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
3b10: 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54  LPOINTER, SQLINT
3b20: 45 47 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52  EGER, SQLINTEGER
3b30: 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e  *);....SQLRETURN
3b40: 20 53 51 4c 47 65 74 44 65 73 63 52 65 63 28 53   SQLGetDescRec(S
3b50: 51 4c 48 44 45 53 43 2c 20 53 51 4c 53 4d 41 4c  QLHDESC, SQLSMAL
3b60: 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20  LINT, SQLCHAR*, 
3b70: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  SQLSMALLINT, SQL
3b80: 53 4d 41 4c 4c 49 4e 54 2a 2c 0d 0a 09 09 20 20  SMALLINT*,....  
3b90: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51  SQLSMALLINT*, SQ
3ba0: 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 4c  LSMALLINT*, SQLL
3bb0: 45 4e 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  EN*, SQLSMALLINT
3bc0: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c  *, SQLSMALLINT*,
3bd0: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0d   SQLSMALLINT*);.
3be0: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
3bf0: 47 65 74 44 69 61 67 46 69 65 6c 64 28 53 51 4c  GetDiagField(SQL
3c00: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 48 41 4e  SMALLINT, SQLHAN
3c10: 44 4c 45 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  DLE, SQLSMALLINT
3c20: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
3c30: 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d  QLPOINTER, SQLSM
3c40: 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c  ALLINT, SQLSMALL
3c50: 49 4e 54 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54  INT*);....SQLRET
3c60: 55 52 4e 20 53 51 4c 47 65 74 44 69 61 67 52 65  URN SQLGetDiagRe
3c70: 63 28 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  c(SQLSMALLINT, S
3c80: 51 4c 48 41 4e 44 4c 45 2c 20 53 51 4c 53 4d 41  QLHANDLE, SQLSMA
3c90: 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c  LLINT, SQLCHAR*,
3ca0: 20 53 51 4c 49 4e 54 45 47 45 52 2a 2c 20 53 51   SQLINTEGER*, SQ
3cb0: 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c  LCHAR*, SQLSMALL
3cc0: 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  INT, SQLSMALLINT
3cd0: 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e  *);....SQLRETURN
3ce0: 20 53 51 4c 47 65 74 45 6e 76 41 74 74 72 28 53   SQLGetEnvAttr(S
3cf0: 51 4c 48 45 4e 56 2c 20 53 51 4c 49 4e 54 45 47  QLHENV, SQLINTEG
3d00: 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20  ER, SQLPOINTER, 
3d10: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 49  SQLINTEGER, SQLI
3d20: 4e 54 45 47 45 52 2a 29 3b 0d 0a 09 09 53 51 4c  NTEGER*);....SQL
3d30: 52 45 54 55 52 4e 20 53 51 4c 47 65 74 53 74 6d  RETURN SQLGetStm
3d40: 74 41 74 74 72 28 53 51 4c 48 53 54 4d 54 2c 20  tAttr(SQLHSTMT, 
3d50: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 50  SQLINTEGER, SQLP
3d60: 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 45 47  OINTER, SQLINTEG
3d70: 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 2a 29  ER, SQLINTEGER*)
3d80: 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53  ;....SQLRETURN S
3d90: 51 4c 53 65 74 43 6f 6e 6e 65 63 74 41 74 74 72  QLSetConnectAttr
3da0: 28 53 51 4c 48 44 42 43 2c 20 53 51 4c 49 4e 54  (SQLHDBC, SQLINT
3db0: 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52  EGER, SQLPOINTER
3dc0: 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0d 0a  , SQLINTEGER);..
3dd0: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53  ..SQLRETURN SQLS
3de0: 65 74 44 65 73 63 46 69 65 6c 64 28 53 51 4c 48  etDescField(SQLH
3df0: 44 45 53 43 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e  DESC, SQLSMALLIN
3e00: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20  T, SQLSMALLINT, 
3e10: 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 49  SQLPOINTER, SQLI
3e20: 4e 54 45 47 45 52 29 3b 0d 0a 09 09 53 51 4c 52  NTEGER);....SQLR
3e30: 45 54 55 52 4e 20 53 51 4c 53 65 74 44 65 73 63  ETURN SQLSetDesc
3e40: 52 65 63 28 53 51 4c 48 44 45 53 43 2c 20 53 51  Rec(SQLHDESC, SQ
3e50: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d  LSMALLINT, SQLSM
3e60: 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c  ALLINT, SQLSMALL
3e70: 49 4e 54 2c 20 53 51 4c 4c 45 4e 2c 20 53 51 4c  INT, SQLLEN, SQL
3e80: 53 4d 41 4c 4c 49 4e 54 2c 0a 09 09 09 53 51 4c  SMALLINT,....SQL
3e90: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 4f 49  SMALLINT, SQLPOI
3ea0: 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2a 2c 20 53  NTER, SQLLEN*, S
3eb0: 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 09 53 51 4c 52  QLLEN*);....SQLR
3ec0: 45 54 55 52 4e 20 53 51 4c 53 65 74 45 6e 76 41  ETURN SQLSetEnvA
3ed0: 74 74 72 28 53 51 4c 48 45 4e 56 2c 20 53 51 4c  ttr(SQLHENV, SQL
3ee0: 49 4e 54 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e  INTEGER, SQLPOIN
3ef0: 54 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 29  TER, SQLINTEGER)
3f00: 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53  ;....SQLRETURN S
3f10: 51 4c 53 65 74 53 74 6d 74 41 74 74 72 28 53 51  QLSetStmtAttr(SQ
3f20: 4c 48 53 54 4d 54 2c 20 53 51 4c 49 4e 54 45 47  LHSTMT, SQLINTEG
3f30: 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20  ER, SQLPOINTER, 
3f40: 53 51 4c 49 4e 54 45 47 45 52 29 3b 0d 0a 09 7d  SQLINTEGER);...}
3f50: 2f 2a 20 28 4f 44 42 43 56 45 52 20 3e 3d 20 30  /* (ODBCVER >= 0
3f60: 78 30 33 30 30 29 20 2a 2f 0d 0a 7d              x0300) */..}