⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqltypes.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
字号:
/* *  sqltypes.h * *  $Id: sqltypes.h,v 1.2 2007/01/09 19:51:04 yas Exp $ * *  ODBC typedefs * *  The iODBC driver manager. * *  Copyright (C) 1995 by Ke Jin <kejin@empress.com> *  Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com> *  All Rights Reserved. * *  This software is released under the terms of either of the following *  licenses: * *      - GNU Library General Public License (see LICENSE.LGPL) *      - The BSD License (see LICENSE.BSD). * *  Note that the only valid version of the LGPL license as far as this *  project is concerned is the original GNU Library General Public License *  Version 2, dated June 1991. * *  While not mandated by the BSD license, any patches you make to the *  iODBC source code may be contributed back into the iODBC project *  at your discretion. Contributions will benefit the Open Source and *  Data Access community as a whole. Submissions may be made at: * *      http://www.iodbc.org * * *  GNU Library Generic Public License Version 2 *  ============================================ *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Library General Public *  License as published by the Free Software Foundation; only *  Version 2 of the License dated June 1991. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Library General Public License for more details. * *  You should have received a copy of the GNU Library General Public *  License along with this library; if not, write to the Free *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA * * *  The BSD License *  =============== *  Redistribution and use in source and binary forms, with or without *  modification, are permitted provided that the following conditions *  are met: * *  1. Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. *  2. Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in *     the documentation and/or other materials provided with the *     distribution. *  3. Neither the name of OpenLink Software Inc. nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#ifndef _SQLTYPES_H#define _SQLTYPES_H/* *  Set default specification to  ODBC 3.51 */#ifndef ODBCVER#define ODBCVER		0x0351#endif#ifdef __cplusplusextern "C" {#endif/* *  Environment specific definitions */#ifndef EXPORT#define EXPORT#endif#ifdef WIN32#define SQL_API	__stdcall#else#define SQL_API#endif/* *  API declaration data types */typedef unsigned char		SQLCHAR;typedef signed short		SQLSMALLINT;typedef unsigned short		SQLUSMALLINT;#if (SIZEOF_LONG == 8)typedef signed int		SQLINTEGER;typedef unsigned int		SQLUINTEGER;#elsetypedef signed long		SQLINTEGER;typedef unsigned long		SQLUINTEGER;#endiftypedef void *              	SQLPOINTER;#if (ODBCVER >= 0x0300)typedef signed char		SQLSCHAR;typedef unsigned char		SQLDATE;typedef unsigned char		SQLDECIMAL;typedef unsigned char		SQLNUMERIC;typedef double			SQLDOUBLE;typedef double			SQLFLOAT;typedef float			SQLREAL;typedef unsigned char		SQLTIME;typedef unsigned char		SQLTIMESTAMP;typedef unsigned char		SQLVARCHAR;#endif	/* ODBCVER >= 0x0300 *//* *  New Win64 datatypes */#ifdef _WIN64typedef INT64			SQLLEN;typedef UINT64			SQLULEN;typedef UINT64			SQLSETPOSIROW;#elif defined(STRICT_ODBC_TYPES)typedef long			SQLLEN;typedef unsigned long		SQLULEN;typedef unsigned short		SQLSETPOSIROW;#else#define SQLLEN			long#define SQLULEN 		unsigned long#define SQLSETPOSIROW		unsigned short#endif/* *  Backward compatibility with older platform sdks */typedef SQLULEN 		SQLROWCOUNT;typedef SQLULEN 		SQLROWSETSIZE;typedef SQLULEN 		SQLTRANSID;typedef SQLLEN			SQLROWOFFSET;/* *  Generic pointer types */typedef void *              	PTR;typedef void *			SQLHANDLE;/* *  Handles */typedef void *			HENV;typedef void *			HDBC;typedef void *			HSTMT;typedef SQLHANDLE		SQLHENV;typedef SQLHANDLE		SQLHDBC;typedef SQLHANDLE		SQLHSTMT;#if (ODBCVER >= 0x0300)typedef SQLHANDLE		SQLHDESC;#endif	/* ODBCVER >= 0x0300 *//* *  Window Handle */#if defined(WIN32) || defined (_WIN64) || defined(OS2)typedef HWND			SQLHWND;#elif defined(macintosh)#include <Dialogs.h>typedef WindowPtr 		HWND;typedef HWND 			SQLHWND;#elsetypedef SQLPOINTER 		HWND;typedef SQLPOINTER 		SQLHWND;#endif/* *  SQL portable types for C */typedef unsigned char		UCHAR;typedef signed char		SCHAR;typedef short int		SWORD;typedef unsigned short int	UWORD;typedef long int		SDWORD;typedef unsigned long int	UDWORD;typedef signed short		SSHORT;typedef unsigned short		USHORT;typedef signed long		SLONG;typedef unsigned long		ULONG;typedef float			SFLOAT;typedef double			SDOUBLE;typedef double			LDOUBLE;/* *  Return type for functions */typedef signed short		RETCODE;typedef SQLSMALLINT		SQLRETURN;/* *  SQL portable types for C - DATA, TIME, TIMESTAMP, and BOOKMARK */typedef SQLULEN			BOOKMARK;typedef struct tagDATE_STRUCT  {    SQLSMALLINT year;    SQLUSMALLINT month;    SQLUSMALLINT day;  }DATE_STRUCT;#if (ODBCVER >= 0x0300)typedef DATE_STRUCT		SQL_DATE_STRUCT;#endif	/* ODBCVER >= 0x0300 */typedef struct tagTIME_STRUCT  {    SQLUSMALLINT hour;    SQLUSMALLINT minute;    SQLUSMALLINT second;  }TIME_STRUCT;#if (ODBCVER >= 0x0300)typedef TIME_STRUCT		SQL_TIME_STRUCT;#endif	/* ODBCVER >= 0x0300 */typedef struct tagTIMESTAMP_STRUCT  {    SQLSMALLINT year;    SQLUSMALLINT month;    SQLUSMALLINT day;    SQLUSMALLINT hour;    SQLUSMALLINT minute;    SQLUSMALLINT second;    SQLUINTEGER fraction;  }TIMESTAMP_STRUCT;#if (ODBCVER >= 0x0300)typedef TIMESTAMP_STRUCT	SQL_TIMESTAMP_STRUCT;#endif	/* ODBCVER >= 0x0300 *//* *  Enumeration for DATETIME_INTERVAL_SUBCODE values for interval data types * *  These values are from SQL-92 */#if (ODBCVER >= 0x0300)typedef enum  {    SQL_IS_YEAR			= 1,    SQL_IS_MONTH		= 2,    SQL_IS_DAY			= 3,    SQL_IS_HOUR			= 4,    SQL_IS_MINUTE		= 5,    SQL_IS_SECOND		= 6,    SQL_IS_YEAR_TO_MONTH	= 7,    SQL_IS_DAY_TO_HOUR		= 8,    SQL_IS_DAY_TO_MINUTE	= 9,    SQL_IS_DAY_TO_SECOND	= 10,    SQL_IS_HOUR_TO_MINUTE	= 11,    SQL_IS_HOUR_TO_SECOND	= 12,    SQL_IS_MINUTE_TO_SECOND	= 13  }SQLINTERVAL;typedef struct tagSQL_YEAR_MONTH  {    SQLUINTEGER year;    SQLUINTEGER month;  }SQL_YEAR_MONTH_STRUCT;typedef struct tagSQL_DAY_SECOND  {    SQLUINTEGER day;    SQLUINTEGER hour;    SQLUINTEGER minute;    SQLUINTEGER second;    SQLUINTEGER fraction;  }SQL_DAY_SECOND_STRUCT;typedef struct tagSQL_INTERVAL_STRUCT  {    SQLINTERVAL interval_type;    SQLSMALLINT interval_sign;    union      {	SQL_YEAR_MONTH_STRUCT year_month;	SQL_DAY_SECOND_STRUCT day_second;      }    intval;  }SQL_INTERVAL_STRUCT;#endif	/* ODBCVER >= 0x0300 *//* *  The ODBC C types for SQL_C_SBIGINT and SQL_C_UBIGINT */#if (ODBCVER >= 0x0300)#if (_MSC_VER >= 900)#  define ODBCINT64 		__int64#endif#ifndef ODBCINT64# if (SIZEOF_LONG == 8)#   define ODBCINT64		long# else#   define ODBCINT64		long long# endif#endif /* ODBCINT64 */#if defined (ODBCINT64)typedef signed   ODBCINT64	SQLBIGINT;typedef unsigned ODBCINT64	SQLUBIGINT;#endif	/* ODBCINT64 */#endif	/* ODBCVER >= 0x0300 *//* *  The internal representation of the numeric data type */#if (ODBCVER >= 0x0300)#define SQL_MAX_NUMERIC_LEN	16typedef struct tagSQL_NUMERIC_STRUCT  {    SQLCHAR	precision;    SQLSCHAR	scale;    SQLCHAR	sign;		/* 0 for negative, 1 for positive */    SQLCHAR	val[SQL_MAX_NUMERIC_LEN];  }SQL_NUMERIC_STRUCT;#endif	/* ODBCVER >= 0x0300 */#if (ODBCVER >= 0x0350)#ifdef GUID_DEFINEDtypedef GUID 			SQLGUID;#elsetypedef struct tagSQLGUID  {    unsigned int	Data1;    unsigned short	Data2;    unsigned short	Data3;    unsigned char	Data4[8];	/* BYTE */  }SQLGUID;#endif	/* GUID_DEFINED */#endif	/* ODBCVER >= 0x0350 */#if defined(WIN32)typedef unsigned short SQLWCHAR;#else#  include <stdlib.h>#  if defined(__cplusplus)		|| \      defined(_WCHAR_T)			|| \      defined(_WCHAR_T_DEFINED)		|| \      defined(_WCHAR_T_DECLARED)        || \      defined(_BSD_WCHAR_T_DEFINED_)    || \      defined(_BSD_WCHAR_T_)typedef wchar_t SQLWCHAR;#  else#    error Please make sure your system supports the wchar_t type#  endif#endif /* WIN32 */#ifdef UNICODEtypedef SQLWCHAR        	SQLTCHAR;#elsetypedef SQLCHAR         	SQLTCHAR;#endif  /* UNICODE */#ifdef __cplusplus}#endif#endif	/* _SQLTYPES_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -