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

📄 hdbc.h

📁 一个可以替代windows ODBC驱动程序管理器的通用ODBC数据库引擎
💻 H
字号:
/* *  hdbc.h * *  $Id: hdbc.h,v 1.6 2000/01/28 14:08:40 source Exp $ * *  Data source connect object management functions * *  The iODBC driver manager. *   *  Copyright (C) 1995 by Ke Jin <kejin@empress.com>  * *  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; either *  version 2 of the License, or (at your option) any later version. * *  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 *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef	_HDBC_H#define	_HDBC_H#if (ODBCVER >= 0x0300)#include <hdesc.h>#endiftypedef struct DBC  {    int type;			/* must be 1st field */    HERR herr;    SQLRETURN rc;    struct DBC FAR * next;    HENV genv;			/* back point to global env object */    HDBC dhdbc;			/* driver's private dbc */    HENV henv;			/* back point to instant env object */    HSTMT hstmt;		/* list of statement object handle(s) */#if (ODBCVER >= 0x300)    HDESC hdesc;    		/* list of connection descriptors */#endif        int state;    /* options */    UDWORD access_mode;    UDWORD autocommit;    UDWORD login_timeout;    UDWORD odbc_cursors;    UDWORD packet_size;    UDWORD quiet_mode;    UDWORD txn_isolation;    SWORD cb_commit;    SWORD cb_rollback;    char FAR * current_qualifier;    int trace;				/* trace flag */    char FAR * tfile;    void FAR * tstm;			/* trace stream */    SWORD dbc_cip;			/* Call in Progess flag */  }DBC_t;#define IS_VALID_HDBC(x) \	((x) != SQL_NULL_HDBC && ((DBC_t FAR *)(x))->type == SQL_HANDLE_DBC)#define ENTER_HDBC(pdbc) \        ODBC_LOCK();\    	if (!IS_VALID_HDBC (pdbc)) \	  { \	    ODBC_UNLOCK (); \	    return SQL_INVALID_HANDLE; \	  } \	else if (pdbc->dbc_cip) \          { \	    PUSHSQLERR (pdbc->herr, en_S1010); \	    ODBC_UNLOCK(); \	    return SQL_ERROR; \	  } \	pdbc->dbc_cip = 1; \	CLEAR_ERRORS (pdbc); \	ODBC_UNLOCK();#define LEAVE_HDBC(pdbc, err) \	pdbc->dbc_cip = 0; \	return (err);/*  * Note: *  - ODBC applications can see address of driver manager's  *    connection object, i.e connection handle -- a void pointer,  *    but not detail of it. ODBC applications can neither see  *    detail driver's connection object nor its address. * *  - ODBC driver manager knows its own connection objects and *    exposes their address to an ODBC application. Driver manager *    also knows address of driver's connection objects and keeps *    it via dhdbc field in driver manager's connection object. *  *  - ODBC driver exposes address of its own connection object to *    driver manager without detail. * *  - Applications can get driver's connection object handle by *    SQLGetInfo() with fInfoType equals to SQL_DRIVER_HDBC. */enum  {    en_dbc_allocated,    en_dbc_needdata,    en_dbc_connected,    en_dbc_hstmt  };/* *  Internal prototypes  */SQLRETURN SQL_API _iodbcdm_SetConnectOption (    SQLHDBC hdbc,    SQLUSMALLINT fOption,     SQLUINTEGER vParam);SQLRETURN SQL_API _iodbcdm_GetConnectOption (    SQLHDBC hdbc,    SQLUSMALLINT fOption,     SQLPOINTER pvParam);#endif

⌨️ 快捷键说明

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