Artifact 96280391078c825fa496528bf973d0f7e89f21bc:
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 0a 2a 20 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 73 71 6c 74 79 70 sqltyp
0070: 65 73 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 es.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 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 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 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: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66 Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77 rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20 s headers
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 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 2a 0a 2a 20 20 20 20 20 20 20 20 20 *.*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63 aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20 domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 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 2f 0a 6d 6f 64 75 6c 65 ********/.module
02a0: 20 77 69 6e 33 32 2e 73 71 6c 74 79 70 65 73 3b win32.sqltypes;
02b0: 0a 0a 2f 2a 20 43 6f 6e 76 65 72 73 69 6f 6e 20 ../* Conversion
02c0: 6e 6f 74 65 73 3a 0a 20 20 49 74 27 73 20 61 73 notes:. It's as
02d0: 73 75 6d 65 64 20 74 68 61 74 20 4f 44 42 43 20 sumed that ODBC
02e0: 3e 3d 20 30 78 30 33 30 30 2e 0a 2a 2f 0a 0a 70 >= 0x0300..*/..p
02f0: 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 rivate import wi
0300: 6e 33 32 2e 77 69 6e 64 65 66 3b 0a 70 72 69 76 n32.windef;.priv
0310: 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 ate import win32
0320: 2e 62 61 73 65 74 79 70 73 3b 20 2f 2f 20 66 6f .basetyps; // fo
0330: 72 20 47 55 49 44 0a 0a 61 6c 69 61 73 20 62 79 r GUID..alias by
0340: 74 65 20 53 43 48 41 52 2c 20 53 51 4c 53 43 48 te SCHAR, SQLSCH
0350: 41 52 3b 0a 61 6c 69 61 73 20 69 6e 74 20 53 44 AR;.alias int SD
0360: 57 4f 52 44 2c 20 53 4c 4f 4e 47 2c 20 53 51 4c WORD, SLONG, SQL
0370: 49 4e 54 45 47 45 52 3b 0a 61 6c 69 61 73 20 73 INTEGER;.alias s
0380: 68 6f 72 74 20 53 57 4f 52 44 2c 20 53 53 48 4f hort SWORD, SSHO
0390: 52 54 2c 20 52 45 54 43 4f 44 45 2c 20 53 51 4c RT, RETCODE, SQL
03a0: 53 4d 41 4c 4c 49 4e 54 3b 0a 61 6c 69 61 73 20 SMALLINT;.alias
03b0: 55 4c 4f 4e 47 20 55 44 57 4f 52 44 3b 0a 61 6c ULONG UDWORD;.al
03c0: 69 61 73 20 55 53 48 4f 52 54 20 55 57 4f 52 44 ias USHORT UWORD
03d0: 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 3b 0a , SQLUSMALLINT;.
03e0: 61 6c 69 61 73 20 64 6f 75 62 6c 65 20 53 44 4f alias double SDO
03f0: 55 42 4c 45 2c 20 4c 44 4f 55 42 4c 45 3b 0a 61 UBLE, LDOUBLE;.a
0400: 6c 69 61 73 20 66 6c 6f 61 74 20 53 46 4c 4f 41 lias float SFLOA
0410: 54 3b 0a 61 6c 69 61 73 20 50 56 4f 49 44 20 50 T;.alias PVOID P
0420: 54 52 2c 20 48 45 4e 56 2c 20 48 44 42 43 2c 20 TR, HENV, HDBC,
0430: 48 53 54 4d 54 2c 20 53 51 4c 50 4f 49 4e 54 45 HSTMT, SQLPOINTE
0440: 52 3b 0a 61 6c 69 61 73 20 55 43 48 41 52 20 53 R;.alias UCHAR S
0450: 51 4c 43 48 41 52 3b 0a 2f 2f 20 23 69 66 6e 64 QLCHAR;.// #ifnd
0460: 65 66 20 5f 57 49 4e 36 34 0a 61 6c 69 61 73 20 ef _WIN64.alias
0470: 55 44 57 4f 52 44 20 53 51 4c 55 49 4e 54 45 47 UDWORD SQLUINTEG
0480: 45 52 3b 0a 2f 2f 20 23 65 6e 64 69 66 0a 0a 2f ER;.// #endif../
0490: 2f 73 74 61 74 69 63 20 69 66 20 28 4f 44 42 43 /static if (ODBC
04a0: 56 45 52 20 3e 3d 20 30 78 30 33 30 30 29 20 7b VER >= 0x0300) {
04b0: 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 20 53 51 .alias HANDLE SQ
04c0: 4c 48 41 4e 44 4c 45 3b 0a 61 6c 69 61 73 20 53 LHANDLE;.alias S
04d0: 51 4c 48 41 4e 44 4c 45 20 53 51 4c 48 45 4e 56 QLHANDLE SQLHENV
04e0: 2c 20 53 51 4c 48 44 42 43 2c 20 53 51 4c 48 53 , SQLHDBC, SQLHS
04f0: 54 4d 54 2c 20 53 51 4c 48 44 45 53 43 3b 0a 2f TMT, SQLHDESC;./
0500: 2a 0a 7d 20 65 6c 73 65 20 7b 0a 61 6c 69 61 73 *.} else {.alias
0510: 20 76 6f 69 64 2a 20 53 51 4c 48 45 4e 56 3b 0a void* SQLHENV;.
0520: 61 6c 69 61 73 20 76 6f 69 64 2a 20 53 51 4c 48 alias void* SQLH
0530: 44 42 43 3b 0a 61 6c 69 61 73 20 76 6f 69 64 2a DBC;.alias void*
0540: 20 53 51 4c 48 53 54 4d 54 3b 0a 7d 0a 2a 2f 0a SQLHSTMT;.}.*/.
0550: 61 6c 69 61 73 20 53 51 4c 53 4d 41 4c 4c 49 4e alias SQLSMALLIN
0560: 54 20 53 51 4c 52 45 54 55 52 4e 3b 0a 61 6c 69 T SQLRETURN;.ali
0570: 61 73 20 48 57 4e 44 20 53 51 4c 48 57 4e 44 3b as HWND SQLHWND;
0580: 0a 61 6c 69 61 73 20 55 4c 4f 4e 47 20 42 4f 4f .alias ULONG BOO
0590: 4b 4d 41 52 4b 3b 0a 0a 61 6c 69 61 73 20 53 51 KMARK;..alias SQ
05a0: 4c 49 4e 54 45 47 45 52 20 53 51 4c 4c 45 4e 2c LINTEGER SQLLEN,
05b0: 20 53 51 4c 52 4f 57 4f 46 46 53 45 54 3b 0a 61 SQLROWOFFSET;.a
05c0: 6c 69 61 73 20 53 51 4c 55 49 4e 54 45 47 45 52 lias SQLUINTEGER
05d0: 20 53 51 4c 52 4f 57 43 4f 55 4e 54 2c 20 53 51 SQLROWCOUNT, SQ
05e0: 4c 55 4c 45 4e 3b 0a 61 6c 69 61 73 20 44 57 4f LULEN;.alias DWO
05f0: 52 44 20 53 51 4c 54 52 41 4e 53 49 44 3b 0a 61 RD SQLTRANSID;.a
0600: 6c 69 61 73 20 53 51 4c 55 53 4d 41 4c 4c 49 4e lias SQLUSMALLIN
0610: 54 20 53 51 4c 53 45 54 50 4f 53 49 52 4f 57 3b T SQLSETPOSIROW;
0620: 0a 61 6c 69 61 73 20 77 63 68 61 72 20 53 51 4c .alias wchar SQL
0630: 57 43 48 41 52 3b 0a 0a 76 65 72 73 69 6f 6e 28 WCHAR;..version(
0640: 55 6e 69 63 6f 64 65 29 20 7b 0a 09 61 6c 69 61 Unicode) {..alia
0650: 73 20 53 51 4c 57 43 48 41 52 20 53 51 4c 54 43 s SQLWCHAR SQLTC
0660: 48 41 52 3b 0a 7d 20 65 6c 73 65 20 7b 0a 09 61 HAR;.} else {..a
0670: 6c 69 61 73 20 53 51 4c 43 48 41 52 20 20 53 51 lias SQLCHAR SQ
0680: 4c 54 43 48 41 52 3b 0a 7d 0a 2f 2f 73 74 61 74 LTCHAR;.}.//stat
0690: 69 63 20 69 66 20 28 4f 44 42 43 56 45 52 20 3e ic if (ODBCVER >
06a0: 3d 20 30 78 30 33 30 30 29 20 7b 0a 61 6c 69 61 = 0x0300) {.alia
06b0: 73 20 75 62 79 74 65 20 20 53 51 4c 44 41 54 45 s ubyte SQLDATE
06c0: 2c 20 53 51 4c 44 45 43 49 4d 41 4c 3b 0a 61 6c , SQLDECIMAL;.al
06d0: 69 61 73 20 64 6f 75 62 6c 65 20 53 51 4c 44 4f ias double SQLDO
06e0: 55 42 4c 45 2c 20 53 51 4c 46 4c 4f 41 54 3b 0a UBLE, SQLFLOAT;.
06f0: 61 6c 69 61 73 20 75 62 79 74 65 20 20 53 51 4c alias ubyte SQL
0700: 4e 55 4d 45 52 49 43 3b 0a 61 6c 69 61 73 20 66 NUMERIC;.alias f
0710: 6c 6f 61 74 20 20 53 51 4c 52 45 41 4c 3b 0a 61 loat SQLREAL;.a
0720: 6c 69 61 73 20 75 62 79 74 65 20 20 53 51 4c 54 lias ubyte SQLT
0730: 49 4d 45 2c 20 53 51 4c 54 49 4d 45 53 54 41 4d IME, SQLTIMESTAM
0740: 50 2c 20 53 51 4c 56 41 52 43 48 41 52 3b 0a 61 P, SQLVARCHAR;.a
0750: 6c 69 61 73 20 6c 6f 6e 67 20 20 20 4f 44 42 43 lias long ODBC
0760: 49 4e 54 36 34 2c 20 53 51 4c 42 49 47 49 4e 54 INT64, SQLBIGINT
0770: 3b 0a 61 6c 69 61 73 20 75 6c 6f 6e 67 20 20 53 ;.alias ulong S
0780: 51 4c 55 42 49 47 49 4e 54 3b 0a 2f 2f 7d 0a 0a QLUBIGINT;.//}..
0790: 73 74 72 75 63 74 20 44 41 54 45 5f 53 54 52 55 struct DATE_STRU
07a0: 43 54 20 7b 0a 09 53 51 4c 53 4d 41 4c 4c 49 4e CT {..SQLSMALLIN
07b0: 54 20 79 65 61 72 3b 0a 09 53 51 4c 55 53 4d 41 T year;..SQLUSMA
07c0: 4c 4c 49 4e 54 20 6d 6f 6e 74 68 3b 0a 09 53 51 LLINT month;..SQ
07d0: 4c 55 53 4d 41 4c 4c 49 4e 54 20 64 61 79 3b 0a LUSMALLINT day;.
07e0: 7d 0a 0a 73 74 72 75 63 74 20 54 49 4d 45 5f 53 }..struct TIME_S
07f0: 54 52 55 43 54 20 7b 0a 09 53 51 4c 55 53 4d 41 TRUCT {..SQLUSMA
0800: 4c 4c 49 4e 54 20 68 6f 75 72 3b 0a 09 53 51 4c LLINT hour;..SQL
0810: 55 53 4d 41 4c 4c 49 4e 54 20 6d 69 6e 75 74 65 USMALLINT minute
0820: 3b 0a 09 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 20 ;..SQLUSMALLINT
0830: 73 65 63 6f 6e 64 3b 0a 7d 0a 0a 73 74 72 75 63 second;.}..struc
0840: 74 20 54 49 4d 45 53 54 41 4d 50 5f 53 54 52 55 t TIMESTAMP_STRU
0850: 43 54 20 7b 0a 09 53 51 4c 53 4d 41 4c 4c 49 4e CT {..SQLSMALLIN
0860: 54 20 79 65 61 72 3b 0a 09 53 51 4c 55 53 4d 41 T year;..SQLUSMA
0870: 4c 4c 49 4e 54 20 6d 6f 6e 74 68 3b 0a 09 53 51 LLINT month;..SQ
0880: 4c 55 53 4d 41 4c 4c 49 4e 54 20 64 61 79 3b 0a LUSMALLINT day;.
0890: 09 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 20 68 6f .SQLUSMALLINT ho
08a0: 75 72 3b 0a 09 53 51 4c 55 53 4d 41 4c 4c 49 4e ur;..SQLUSMALLIN
08b0: 54 20 6d 69 6e 75 74 65 3b 0a 09 53 51 4c 55 53 T minute;..SQLUS
08c0: 4d 41 4c 4c 49 4e 54 20 73 65 63 6f 6e 64 3b 0a MALLINT second;.
08d0: 09 53 51 4c 55 49 4e 54 45 47 45 52 20 66 72 61 .SQLUINTEGER fra
08e0: 63 74 69 6f 6e 3b 0a 7d 0a 0a 2f 2f 73 74 61 74 ction;.}..//stat
08f0: 69 63 20 69 66 20 28 4f 44 42 43 56 45 52 20 3e ic if (ODBCVER >
0900: 3d 20 30 78 30 33 30 30 29 20 7b 0a 61 6c 69 61 = 0x0300) {.alia
0910: 73 20 44 41 54 45 5f 53 54 52 55 43 54 20 53 51 s DATE_STRUCT SQ
0920: 4c 5f 44 41 54 45 5f 53 54 52 55 43 54 3b 0a 61 L_DATE_STRUCT;.a
0930: 6c 69 61 73 20 54 49 4d 45 5f 53 54 52 55 43 54 lias TIME_STRUCT
0940: 20 53 51 4c 5f 54 49 4d 45 5f 53 54 52 55 43 54 SQL_TIME_STRUCT
0950: 3b 0a 61 6c 69 61 73 20 54 49 4d 45 53 54 41 4d ;.alias TIMESTAM
0960: 50 5f 53 54 52 55 43 54 20 53 51 4c 5f 54 49 4d P_STRUCT SQL_TIM
0970: 45 53 54 41 4d 50 5f 53 54 52 55 43 54 3b 0a 0a ESTAMP_STRUCT;..
0980: 65 6e 75 6d 20 53 51 4c 49 4e 54 45 52 56 41 4c enum SQLINTERVAL
0990: 20 7b 0a 09 53 51 4c 5f 49 53 5f 59 45 41 52 20 {..SQL_IS_YEAR
09a0: 3d 20 31 2c 0a 09 53 51 4c 5f 49 53 5f 4d 4f 4e = 1,..SQL_IS_MON
09b0: 54 48 2c 0a 09 53 51 4c 5f 49 53 5f 44 41 59 2c TH,..SQL_IS_DAY,
09c0: 0a 09 53 51 4c 5f 49 53 5f 48 4f 55 52 2c 0a 09 ..SQL_IS_HOUR,..
09d0: 53 51 4c 5f 49 53 5f 4d 49 4e 55 54 45 2c 0a 09 SQL_IS_MINUTE,..
09e0: 53 51 4c 5f 49 53 5f 53 45 43 4f 4e 44 2c 0a 09 SQL_IS_SECOND,..
09f0: 53 51 4c 5f 49 53 5f 59 45 41 52 5f 54 4f 5f 4d SQL_IS_YEAR_TO_M
0a00: 4f 4e 54 48 2c 0a 09 53 51 4c 5f 49 53 5f 44 41 ONTH,..SQL_IS_DA
0a10: 59 5f 54 4f 5f 48 4f 55 52 2c 0a 09 53 51 4c 5f Y_TO_HOUR,..SQL_
0a20: 49 53 5f 44 41 59 5f 54 4f 5f 4d 49 4e 55 54 45 IS_DAY_TO_MINUTE
0a30: 2c 0a 09 53 51 4c 5f 49 53 5f 44 41 59 5f 54 4f ,..SQL_IS_DAY_TO
0a40: 5f 53 45 43 4f 4e 44 2c 0a 09 53 51 4c 5f 49 53 _SECOND,..SQL_IS
0a50: 5f 48 4f 55 52 5f 54 4f 5f 4d 49 4e 55 54 45 2c _HOUR_TO_MINUTE,
0a60: 0a 09 53 51 4c 5f 49 53 5f 48 4f 55 52 5f 54 4f ..SQL_IS_HOUR_TO
0a70: 5f 53 45 43 4f 4e 44 2c 0a 09 53 51 4c 5f 49 53 _SECOND,..SQL_IS
0a80: 5f 4d 49 4e 55 54 45 5f 54 4f 5f 53 45 43 4f 4e _MINUTE_TO_SECON
0a90: 44 0a 7d 0a 0a 73 74 72 75 63 74 20 53 51 4c 5f D.}..struct SQL_
0aa0: 59 45 41 52 5f 4d 4f 4e 54 48 5f 53 54 52 55 43 YEAR_MONTH_STRUC
0ab0: 54 20 7b 0a 09 53 51 4c 55 49 4e 54 45 47 45 52 T {..SQLUINTEGER
0ac0: 20 79 65 61 72 3b 0a 09 53 51 4c 55 49 4e 54 45 year;..SQLUINTE
0ad0: 47 45 52 20 6d 6f 6e 74 68 3b 0a 7d 0a 0a 73 74 GER month;.}..st
0ae0: 72 75 63 74 20 53 51 4c 5f 44 41 59 5f 53 45 43 ruct SQL_DAY_SEC
0af0: 4f 4e 44 5f 53 54 52 55 43 54 20 7b 0a 09 53 51 OND_STRUCT {..SQ
0b00: 4c 55 49 4e 54 45 47 45 52 20 64 61 79 3b 0a 09 LUINTEGER day;..
0b10: 53 51 4c 55 49 4e 54 45 47 45 52 20 68 6f 75 72 SQLUINTEGER hour
0b20: 3b 0a 09 53 51 4c 55 49 4e 54 45 47 45 52 20 6d ;..SQLUINTEGER m
0b30: 69 6e 75 74 65 3b 0a 09 53 51 4c 55 49 4e 54 45 inute;..SQLUINTE
0b40: 47 45 52 20 73 65 63 6f 6e 64 3b 0a 09 53 51 4c GER second;..SQL
0b50: 55 49 4e 54 45 47 45 52 20 66 72 61 63 74 69 6f UINTEGER fractio
0b60: 6e 3b 0a 7d 0a 0a 73 74 72 75 63 74 20 53 51 4c n;.}..struct SQL
0b70: 5f 49 4e 54 45 52 56 41 4c 5f 53 54 52 55 43 54 _INTERVAL_STRUCT
0b80: 20 7b 0a 09 53 51 4c 49 4e 54 45 52 56 41 4c 20 {..SQLINTERVAL
0b90: 69 6e 74 65 72 76 61 6c 5f 74 79 70 65 3b 0a 09 interval_type;..
0ba0: 53 51 4c 53 4d 41 4c 4c 49 4e 54 20 69 6e 74 65 SQLSMALLINT inte
0bb0: 72 76 61 6c 5f 73 69 67 6e 3b 0a 09 75 6e 69 6f rval_sign;..unio
0bc0: 6e 20 5f 69 6e 74 76 61 6c 20 7b 0a 09 09 53 51 n _intval {...SQ
0bd0: 4c 5f 59 45 41 52 5f 4d 4f 4e 54 48 5f 53 54 52 L_YEAR_MONTH_STR
0be0: 55 43 54 20 79 65 61 72 5f 6d 6f 6e 74 68 3b 0a UCT year_month;.
0bf0: 09 09 53 51 4c 5f 44 41 59 5f 53 45 43 4f 4e 44 ..SQL_DAY_SECOND
0c00: 5f 53 54 52 55 43 54 20 64 61 79 5f 73 65 63 6f _STRUCT day_seco
0c10: 6e 64 3b 0a 09 7d 0a 09 5f 69 6e 74 76 61 6c 20 nd;..}.._intval
0c20: 69 6e 74 76 61 6c 3b 09 0a 7d 0a 0a 63 6f 6e 73 intval;..}..cons
0c30: 74 20 53 51 4c 5f 4d 41 58 5f 4e 55 4d 45 52 49 t SQL_MAX_NUMERI
0c40: 43 5f 4c 45 4e 20 3d 20 31 36 3b 0a 0a 73 74 72 C_LEN = 16;..str
0c50: 75 63 74 20 53 51 4c 5f 4e 55 4d 45 52 49 43 5f uct SQL_NUMERIC_
0c60: 53 54 52 55 43 54 20 7b 0a 09 53 51 4c 43 48 41 STRUCT {..SQLCHA
0c70: 52 20 70 72 65 63 69 73 69 6f 6e 3b 0a 09 53 51 R precision;..SQ
0c80: 4c 53 43 48 41 52 20 73 63 61 6c 65 3b 0a 09 53 LSCHAR scale;..S
0c90: 51 4c 43 48 41 52 20 73 69 67 6e 3b 0a 09 53 51 QLCHAR sign;..SQ
0ca0: 4c 43 48 41 52 20 76 61 6c 5b 53 51 4c 5f 4d 41 LCHAR val[SQL_MA
0cb0: 58 5f 4e 55 4d 45 52 49 43 5f 4c 45 4e 5d 3b 0a X_NUMERIC_LEN];.
0cc0: 7d 0a 2f 2f 20 7d 20 4f 44 42 43 56 45 52 20 3e }.// } ODBCVER >
0cd0: 3d 20 30 78 30 33 30 30 0a 61 6c 69 61 73 20 47 = 0x0300.alias G
0ce0: 55 49 44 20 53 51 4c 47 55 49 44 3b 0a UID SQLGUID;.