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

📄 errorhandler.h

📁 絲路server源碼 Silk Road server source
💻 H
字号:
/*   This file is part of libodbc++.   Copyright (C) 1999-2000 Manush Dodunekov <manush@stendahls.net>   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; see the file COPYING.  If not, write to   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,   Boston, MA 02111-1307, USA.*/#ifndef __ODBCXX_ERRORHANDLER_H#define __ODBCXX_ERRORHANDLER_H#include <odbc++/setup.h>#include <odbc++/types.h>#include <odbc++/threads.h>namespace odbc {  /** Base class for everything that might contain warnings */  class ODBCXX_EXPORT ErrorHandler {    friend class DriverManager;    friend class DataStreamBuf;    friend class DataStream;  private:    // private data    struct PD;    PD* pd_;    WarningList* warnings_;    bool collectWarnings_;    //the maxumum number of warnings to contain at a time    enum {      MAX_WARNINGS=128    };  protected:    void _postWarning(SQLWarning* w);#if ODBCVER < 0x0300    void _checkErrorODBC2(SQLHENV henv,			  SQLHDBC hdbc,			  SQLHSTMT hstmt,			  SQLRETURN r,			  const ODBCXX_STRING& what);#else    void _checkErrorODBC3(SQLINTEGER handleType,			  SQLHANDLE h,			  SQLRETURN r, const ODBCXX_STRING& what);#endif //ODBCVER < 0x0300    void _checkStmtError(SQLHSTMT hstmt,			 SQLRETURN r, const ODBCXX_CHAR_TYPE* what=ODBCXX_STRING_CONST("")) {      if(r==SQL_SUCCESS_WITH_INFO || r==SQL_ERROR) {#if ODBCVER < 0x0300	this->_checkErrorODBC2(SQL_NULL_HENV, SQL_NULL_HDBC, hstmt,			       r,ODBCXX_STRING_C(what));#else		this->_checkErrorODBC3(SQL_HANDLE_STMT,hstmt,r,ODBCXX_STRING_C(what));	#endif      }    }    void _checkConError(SQLHDBC hdbc,                        SQLRETURN r,                        const ODBCXX_CHAR_TYPE* what=ODBCXX_STRING_CONST("")) {      if(r==SQL_SUCCESS_WITH_INFO || r==SQL_ERROR) {#if ODBCVER < 0x0300		this->_checkErrorODBC2(SQL_NULL_HENV, hdbc, SQL_NULL_HSTMT, r,			       ODBCXX_STRING_C(what));	#else		this->_checkErrorODBC3(SQL_HANDLE_DBC, hdbc, r, ODBCXX_STRING_C(what));#endif      }    }    void _checkEnvError(SQLHENV henv,                        SQLRETURN r,                        const ODBCXX_CHAR_TYPE* what=ODBCXX_STRING_CONST("")) {      if(r==SQL_SUCCESS_WITH_INFO || r==SQL_ERROR) {#if ODBCVER < 0x0300		this->_checkErrorODBC2(henv,SQL_NULL_HDBC,SQL_NULL_HSTMT,r,			       ODBCXX_STRING_C(what));	#else		this->_checkErrorODBC3(SQL_HANDLE_ENV,henv,r,ODBCXX_STRING_C(what));	#endif      }    }    /** Constructor */    ErrorHandler(bool collectWarnings =true);  public:    /** Clears all the warnings stored in this object */    void clearWarnings();    /** Fetches all the warnings in this object.     * The caller is responsive for deleteing the     * returned object.     */    WarningList* getWarnings();    /** Destructor */    virtual ~ErrorHandler();  };} // namespace odbc#endif

⌨️ 快捷键说明

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