亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? oracl.h

?? VC下oracle數據庫的使用
?? H
?? 第 1 頁 / 共 4 頁
字號:
/* Copyright (c) Oracle Corporation 1994.  All Rights Reserved */

/*
    This source code is provided as a debugging aid for developers
    who have purchased Oracle Objects for OLE    .  Please see the
    online help for documentation of these classes.
*/

/*
    Oracle Objects for OLE     C++ Classes
    
    This file is the header for the basic classes.  That is, all the
    classes except OBound and OBinder (which use the obound.h header)
                           
    CREATED    ********   11/22/94
    RWOOLARD	MODIFIED	03/20/95
    			bug#	262914	*ErrorText should return const char *
    					262723	Added overloaded OParameter.Add(..., OValue)	
    PCHARI      MODIFIED        03/19/98
			bug#    624443  *NT 3.5.1 does not support CoInitializeEx
				and so this fix to explicitly link with ole32.dll
*/

#ifndef ORACL_ORACLE
#define ORACL_ORACLE

// compiler specific defines
#ifdef WIN32
  #define  __huge
  #define OHUGESP
  #ifdef _MSC_VER
	  #define OEXPORT  __declspec(dllexport)
  #endif	  //	_MSC_VER
  #ifdef __BORLANDC__
     #define OEXPORT _export
  #endif     //	__BORLANDC__
#else     // WIN16
  #define OEXPORT _export
  #define OHUGESP
#endif    //WIN32


#ifndef OEXPORT
#define OEXPORT
#define OHUGESP
#endif

#include "windows.h"

#ifdef WIN32
# ifdef	ORAANSI
#  include <ole2.h>
#  include <winnls.h>
# endif
#else
# include <ole2.h>
# include <dispatch.h>
# ifdef _CID_MS15
#  define	OLECHAR char
# endif
#endif

// handy boolean type
typedef int oboolean;
// simple success return value
typedef int oresult;

// oresults can have one of the following values
#define OSUCCESS 0
#define OFAILURE 101

// error numbers returned by the ErrorNumber method.

// ----- error numbers
#define OERROR_NONE 0  // there isn't an error

#define OERROR_NOINTER 11  // we couldn't get a needed interface
#define OERROR_MEMORY 12  // memory allocation problem              
#define OERROR_BADERR 13  // error in error handling (!)
#define OERROR_INVPARENT 14 // parent object on open is invalid (not open)
#define OERROR_SYSTEM 15     // some system error
#define OERROR_NOTOPEN 16   // attempt to use unopened object
#define OERROR_BADARG 17    // bad argument to routine
#define OERROR_INVRECORD 18 // the current record is invalid
#define OERROR_BADTYPE 19   // invalid operation on an Oracle data type

#define OERROR_ADVISEULINK 4096  // not an advisory connection
#define OERROR_DBCONNECT 4097  // connection not made
#define OERROR_POSITION 4098  // invalid database position
#define OERROR_NOFIELDNAME 4099  // field not found
#define OERROR_NOFIELDINDEX 4100  // invalid field index
#define OERROR_TRANSIP 4101  // transaction already in progress
#define OERROR_SCHEMAERR 4102  // error retreiving table definition
#define OERROR_ORLONERR 4103  // unable to make connection
#define OERROR_TRANSNIPC 4104  // commit when no transaction 
#define OERROR_TRANSNIPR 4105 // rollback when no transaction
#define OERROR_NODSET 4106  // no such dynaset attached to connection
#define OERROR_INVROWNUM 4108  // invalid row reference
#define OERROR_TEMPFILE 4109  // error creating temporary file
#define OERROR_DUPSESSION 4110  // duplicate session name
#define OERROR_NOSESSION 4111   // no such session on detach
#define OERROR_NOOBJECTN 4112  // no object with specified name
#define OERROR_DUPCONN 4113  // duplicate connection
#define OERROR_NOCONN 4114  // no such connection on detach
#define OERROR_BFINDEX 4115  // invalid field index
#define OERROR_CURNREADY 4116  // cursor not ready
#define OERROR_NOUPDATES 4117  // updates not allowed
#define OERROR_NOTEDITING 4118  // not currently editing
#define OERROR_DATACHANGE 4119  // data has changed since last read
#define OERROR_NOBUFMEM 4120  // no memory for binding buffers
#define OERROR_INVBKMRK 4121  // invalid bookmark
#define OERROR_BNDVNOEN 4122  // bind variable not enabled
#define OERROR_DUPPARAM 4123  // duplicate parameter name
#define OERROR_INVARGVAL 4124  // invalid argument value
#define OERROR_INVFLDTYPE 4125  // invalid field type
#define OERROR_NOTIMPL 4126  // operation not implemented
#define OERROR_TRANSFORUP 4127  // For Update detected, no transaction
#define OERROR_NOTUPFORUP 4128  // For Update detected, not updatable
#define OERROR_TRANSLOCK 4129		// Commit/Rollback, but trans locked
#define OERROR_CACHEPARM 4130		// Invalid cache parameter
#define OERROR_FLDRQROWID 4131	// Field processing requires ROWID
#define OERROR_OUTOFMEMORY 4132	// Out of Memory
#define OERROR_POINTER 4133		// Invalid pointer
#define OERROR_INVNUMBER 4134		// Invalid number
#define OERROR_MAXSIZE 4135		// Maximum size execeeded.
#define OERROR_INVDIMENSION 4136	// Invalid Dimension
#define OERROR_MAXBUFFER 4137		// Maximum buffer exceeds 32512 bytes.
#define OERROR_ARRAYSIZ 4138		// Array elements not same size

// Find Methods parser errors
#define OERROR_STACK_OVER 4496	// Parser : Stack Overflow
#define OERROR_SYNTAX ERROR 4497	// Parser : Syntax Error near
#define OERROR_MISPLACED_PAREN 4498	// Parser : Misplaced parentheses
#define OERROR_MISPLACED_QUOTE 4499	// Parser : Misplaced quotation marks
#define OERROR_MISSING PAREN 4500	// Parser : WARNING - Missing closing Parenthesis
#define OERROR_EXPECTED_PAREN 4501	// Parser : Usually open parentheses expected
#define OERROR_PARSER_UNKNOWN 4502	// Parser : Unknown parser error condition
#define OERROR_INVALID_FUNCTION 4503	// Parser : Syntax not supported
#define OERROR_INVALID_COLUMN 4504	// Parser : Invalid Column Name
#define OERROR_MAX_TOKEN 4505			// Parser : Maximum Token size exceeded
#define OERROR_PARSER_DATA_TYPE 4506	// Parser : Unsupported data type
#define OERROR_UNEXPECTED_TOKEN 4507	// Parser : Unexpected token found
#define OERROR_END_OF_CLAUSE 4508	// Parser : Unexpected end of clause

// Find Methods runtime errors
#define OERROR_INVALID_INSTR 4516	// Runtime : Internal Error : Invalid Instruction
#define OERROR_STACK_ERROR 4517	// Runtime : Internal Error : Stack over/under-flow
#define OERROR_CONVERT_TYPES 4518	// Runtime : Invalid type conversion
#define OERROR_RUNTIME_DATA_TYPE 4519	// Runtime : Invalid datatype
#define OERROR_INVALID_SQL_ARG 4520	// Runtime : SQL function missing argument"
#define OERROR_INVALID_COMPARE 4521	// Runtime : Invalid comparison
#define OERROR_SELECT_DUAL 4522	// Runtime : Select from dual failed
#define OERROR_DUAL_DATATYPE 4523	// Runtime : Invalid datatype in Select from dual

#define OERROR_ECURSOR 8192  // cannot create cursor
#define OERROR_FETCHERR 8193  // error fetching field
#define OERROR_BINDERR 8194  // output data binding error
#define OERROR_SQLERR 8195  // error in SQL statement
#define OERROR_ESQLEXEC 8196  // SQL execution error
#define OERROR_COMERR 8197  // error during commit
#define OERROR_ROLERR 8198  // error during rollback
#define OERROR_OPTERR 8299  // error setting options
#define OERROR_CONNERR 8200  // unable to make connection
#define OERROR_RDBMSVER 8201		// Database version not available

// server data types
#define OTYPE_VARCHAR2	1
#define OTYPE_NUMBER	2
#define OTYPE_SINT	3
#define OTYPE_FLOAT	4
#define OTYPE_STRING    5
#define OTYPE_LONG	8
#define OTYPE_VARCHAR	9
#define OTYPE_ROWID	11
#define OTYPE_DATE	12
#define OTYPE_RAW	23
#define OTYPE_LONGRAW	24
#define OTYPE_UINT      68
#define OTYPE_CHAR	96
#define OTYPE_CHARZ	97
#define OTYPE_CURSOR    102
#define OTYPE_MSLABEL	106

// edit modes for dynaset
#define ODYNASET_EDIT_NOEDIT 0
#define ODYNASET_EDIT_EDITING 1
#define ODYNASET_EDIT_NEWRECORD 2

// parameter io types
#define OPARAMETER_INVAR 1
#define OPARAMETER_OUTVAR 2
#define OPARAMETER_INOUTVAR 3

// parameter status flags
#define OPARAMETER_STATUS_IN 1
#define OPARAMETER_STATUS_OUT 2
#define OPARAMETER_STATUS_AUTOENABLED 4
#define OPARAMETER_STATUS_ENABLED 8

// Options for creating database
#define ODATABASE_DEFAULT 0
#define ODATABASE_PARTIAL_INSERT 1
#define ODATABASE_ORAMODE 1			//	Same as PARTIAL_INSERT 
#define ODATABASE_EDIT_NOWAIT 2
#define ODATABASE_NO_REFETCH	4
#define ODATABASE_NONBLOCK 8

// Options for creating dynaset
#define ODYNASET_DEFAULT 0
#define ODYNASET_NOBIND 1
#define ODYNASET_KEEP_BLANKS 2
#define ODYNASET_READONLY 4
#define ODYNASET_NOCACHE 8
#define ODYNASET_PARTIAL_INSERT 16	// V2DEV - Added
#define ODYNASET_ORAMODE 16			// V2DEV - Added
#define ODYNASET_NO_REFETCH	32
#define ODYNASET_NO_MOVEFIRST	64
#define ODYNASET_DIRTY_WRITE	128
#define	ODYNASET_VIEW_LONG		256 // V2.1 Added

// Options for creating  SqlStmt object
#define  OSQLSTMT_DEFAULT  0
#define  OSQLSTMT_NOBIND   1
// Bug 533086 : Add the option for forcing return on exec errors, for stmt object.
#define OSQLSTMT_FAILEXEC  2

// Threading Model Options
#define OSTARTUP_MULTITHREADED 0
#define OSTARTUP_APARTMENTTHREADED 1

// definitions of actions used in the callback routines
#define OADVISE_MOVE_FIRST 1
#define OADVISE_MOVE_NEXT 2
#define OADVISE_MOVE_PREV 3
#define OADVISE_MOVE_LAST 4
#define OADVISE_FIND_FIRST 5
#define OADVISE_FIND_NEXT 6
#define OADVISE_FIND_PREV 7
#define OADVISE_FIND_LAST 8
#define OADVISE_DELETE 9
#define OADVISE_ADDNEW 10
#define OADVISE_REFRESH 11
#define OADVISE_MOVE_TOMARK 12
#define OADVISE_ROLLBACK 13
//#define OADVISE_CLOSE	14
//#define OADVISE_DATAFIELDCHANGED 15
//#define OADVISE_SAVEDATA	16
//#define OADVISE_READDATA	17
#define OADVISE_UPDATE 18
//#define DATA_UNLOAD 19
#define OADVISE_MOVE_NEXTN 20
#define OADVISE_MOVE_PREVN 21
#define	OADVISE_MOVETO	22

#define OADVISE_FOUNDLAST 151
#define OADVISE_OTHER 99

// definitions for UpdateSource sources
enum	updsrcs {SYSDATE, TIMESTAMP, DATESTAMP, FUNCTION, OTHFIELD, STRLITERAL};

// forward references
class OEXPORT OSession;
class OEXPORT OSessionCollection;
class OEXPORT OClient;
class OEXPORT OConnection;
class OEXPORT OConnectionCollection;
class OEXPORT ODatabase;
class OEXPORT ODynaset;
class OEXPORT ODynasetMark;
class OEXPORT OField;
class OEXPORT OFieldCollection;
class OEXPORT OAdvise;
class OEXPORT OParameter;
class OEXPORT OParamArray;
class OEXPORT OParameterCollection;
class OEXPORT OSqlStmt;
class OOLEvar;


// ------------------------------------------------------------
// functions that are not class methods

// routine to initialize library.  Should be called once at startup 
//    returns TRUE if successful, FALSE if not
oboolean OEXPORT OStartup(int ThreadingModel = OSTARTUP_APARTMENTTHREADED); // Threading Model Options


// routine to close down the library.  Should be called once
//   at application shutdown
void OEXPORT OShutdown(void);

// ----- OOracleObject -----------------------------------------------
// base object class
//   This class is the base for the OO4W classes.  By itself
//   it provides the error reporting interface and helps with
//   the various copying mechanisms

class OEXPORT OOracleObject
{
public:
    // constructors & destructors
    OOracleObject(void);
    OOracleObject(const OOracleObject &other);
    virtual ~OOracleObject(void);
    
    // overloaded operators
    OOracleObject &operator=(const OOracleObject &other);
    int operator==(const OOracleObject &other) const;
    int operator!=(const OOracleObject &other) const;
    
    // properties
    virtual oboolean IsOpen(void) const;
    
    // Error handling methods
    long  ErrorNumber(void) const; // return error "number"
//BUG #262914    
    const char *LookupErrorText(long errnum) const;  // get error text for given error number
    const char *GetErrorText(void) const;  // get description of last error

    // set error information
    void  ErrorReset(void) const;  // reset error state to "no error"
    // SetOtherError and SetInternalError are really for internal use
    void  SetOtherError(void *otheri) const;
    void  SetInternalError(long errnum) const;
    
    void *Internal(void) const;
    
protected:
    // copy and cleanup routines (used to implement destructor, constructor, =)
    virtual oresult Copy(const OOracleObject &other);
    virtual oresult Cleanup(void);
    
    // access to object interface
	 oresult SetObjectInterface(void *obji, oboolean geterror = TRUE);

    oresult ActionStart(void) const;  // start of most of the methods
    oresult ActionGetStart(const OOracleObject *nobj) const;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产色综合久久| 精品亚洲aⅴ乱码一区二区三区| 毛片基地黄久久久久久天堂| 亚洲一区二区三区美女| 综合激情成人伊人| 亚洲色欲色欲www| 国产精品久久久久久久午夜片| 久久美女艺术照精彩视频福利播放 | 337p日本欧洲亚洲大胆精品| 91精品国模一区二区三区| 欧美日韩成人在线一区| 在线观看一区日韩| 欧美色窝79yyyycom| 欧美日韩国产综合一区二区三区| 欧美三级韩国三级日本三斤| 欧美日韩成人综合| 精品国产一区二区亚洲人成毛片 | 久久亚区不卡日本| 久久―日本道色综合久久| 久久蜜桃一区二区| 国产精品久久毛片av大全日韩| 国产精品水嫩水嫩| 一个色综合网站| 日本中文字幕一区二区有限公司| 丝袜国产日韩另类美女| 国内精品伊人久久久久影院对白| 成人免费福利片| 欧美亚洲综合网| 精品日韩欧美在线| 中文av字幕一区| 亚洲电影在线播放| 国产精品一区二区久久精品爱涩 | 国产一区二区三区国产| av在线播放成人| 7777精品伊人久久久大香线蕉经典版下载 | 欧美一区二区三区啪啪| 国产午夜精品一区二区三区嫩草| 亚洲欧美电影一区二区| 免费成人在线视频观看| 成人激情免费网站| 7777精品伊人久久久大香线蕉| 精品sm捆绑视频| 亚洲一卡二卡三卡四卡| 国产成人一区二区精品非洲| 欧美日韩一区二区电影| 国产婷婷精品av在线| 亚洲成av人片一区二区三区| 国产91精品欧美| 91精品国产入口在线| 《视频一区视频二区| 久久精品国产一区二区| 欧美专区在线观看一区| 欧美国产精品中文字幕| 久久精品99久久久| 欧美性大战xxxxx久久久| 国产精品免费丝袜| 久久9热精品视频| 欧美精品九九99久久| 日韩伦理免费电影| 成人综合日日夜夜| 26uuu精品一区二区三区四区在线| 亚洲一区二区黄色| 91蜜桃网址入口| 国产拍欧美日韩视频二区| 久久99蜜桃精品| 91精品国产一区二区三区| 亚洲曰韩产成在线| 欧美艳星brazzers| 亚洲自拍偷拍网站| 欧美性受xxxx黑人xyx| 亚洲男人的天堂网| 91免费看片在线观看| 国产精品久久久久久久久图文区| 国产成人免费视频网站高清观看视频| 精品美女一区二区| 国产专区综合网| 精品国产免费人成电影在线观看四季 | 欧美日韩亚洲综合在线 | 久草在线在线精品观看| 91精品久久久久久久99蜜桃| 亚洲第一综合色| 91精品久久久久久久91蜜桃| 婷婷综合另类小说色区| 3d成人动漫网站| 麻豆国产91在线播放| 日韩精品一区二区三区中文不卡 | 日韩一区欧美一区| 成人免费观看视频| 亚洲精品国产无套在线观| 一本一道综合狠狠老| 一区二区三区波多野结衣在线观看| 日本精品一区二区三区四区的功能| 亚洲少妇最新在线视频| 在线观看成人免费视频| 成人av免费网站| ...av二区三区久久精品| 色综合久久久久久久久久久| 亚洲主播在线播放| 日韩精品在线看片z| 国产成人自拍网| 亚洲另类一区二区| 91精品国产综合久久精品性色| 国内精品国产成人国产三级粉色| 国产欧美日产一区| 欧美日韩中文精品| 国产中文字幕一区| 综合分类小说区另类春色亚洲小说欧美| 欧美伊人精品成人久久综合97| 美女在线视频一区| 国产精品成人免费在线| 欧美日韩一二区| 国产99久久久国产精品潘金| 亚洲宅男天堂在线观看无病毒| 日韩视频不卡中文| av电影在线观看一区| 免费在线观看一区二区三区| 欧美国产日韩精品免费观看| 在线播放/欧美激情| eeuss影院一区二区三区 | 国产真实乱对白精彩久久| 中文在线资源观看网站视频免费不卡| 一本一本久久a久久精品综合麻豆| 日韩1区2区日韩1区2区| 国产精品福利一区二区三区| 欧美精品久久天天躁| 成人动漫一区二区三区| 日本大胆欧美人术艺术动态| 亚洲三级在线播放| 久久亚洲一级片| 欧美一级理论片| 色一情一乱一乱一91av| 国产成人精品午夜视频免费| 水蜜桃久久夜色精品一区的特点| 国产精品乱码人人做人人爱| 精品久久久久久亚洲综合网| 欧美日韩黄色一区二区| 日本乱码高清不卡字幕| 不卡的av电影| 国产·精品毛片| 国产精品888| 国产麻豆视频一区二区| 青青草一区二区三区| 丝袜亚洲另类欧美| 亚洲丰满少妇videoshd| 亚洲午夜电影网| 亚洲尤物视频在线| 亚洲一区二区三区四区不卡| 亚洲精品第一国产综合野| **性色生活片久久毛片| 中文字幕国产一区二区| 国产网站一区二区| 国产亚洲精品中文字幕| 国产亚洲欧洲一区高清在线观看| 欧美电影免费观看高清完整版在线| 欧美欧美欧美欧美首页| 欧美日韩国产免费| 欧美精品乱码久久久久久按摩| 欧美精品视频www在线观看| 91精品欧美一区二区三区综合在| 欧美图片一区二区三区| 在线电影一区二区三区| 欧美一区二区精品在线| 日韩欧美二区三区| 久久精品免费在线观看| 国产亚洲一区字幕| 国产精品网曝门| 亚洲精品网站在线观看| 亚洲动漫第一页| 久久精品国产99| 国产成人丝袜美腿| 92精品国产成人观看免费| 欧美专区亚洲专区| 日韩一区二区三| 国产午夜精品一区二区| 亚洲乱码一区二区三区在线观看| 午夜精品久久久久影视| 久久99精品一区二区三区三区| 国产成人激情av| 色婷婷综合久久久中文一区二区| 欧美日韩国产综合久久| 久久亚洲综合av| 一区二区在线观看视频在线观看| 午夜不卡av免费| 国产精品 欧美精品| 在线观看一区二区视频| 日韩午夜在线影院| 国产精品萝li| 日韩中文字幕亚洲一区二区va在线| 韩日欧美一区二区三区| 91丨国产丨九色丨pron| 欧美电视剧在线观看完整版| 国产精品久久网站| 日本aⅴ免费视频一区二区三区| 国产一区二区在线观看视频| 91麻豆免费观看| 精品国产乱子伦一区| 亚洲宅男天堂在线观看无病毒| 国产精品自在欧美一区| 欧美午夜电影在线播放| 午夜精彩视频在线观看不卡|