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

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

?? oracl.h

?? VC下oracle數據庫的使用
?? H
?? 第 1 頁 / 共 4 頁
字號:
private:
    void   *m_obji;   // pointer to object interface
    void   *m_erri;   // pointer to error interface of object
    void   *m_errotheri;  // pointer to error interface on other object
    char   *m_lasterrstring;  // last error string we've handled
    
    int     m_errstate;   // where did the error come from (values in implementation)
	long    m_errno;  // error number (see below, or negative for internal values)
};

// ----- OOracleCollection -----------------------------------------------
// general set class
// This is a base class used for collections of sessions, connections and fields
// It has no utility on its own.  Routines to get items from the collection are
// in the subclasses

class OEXPORT OOracleCollection : public OOracleObject
{
public:

    // constructors & destructors
    OOracleCollection(void);
    OOracleCollection(const OOracleCollection &other);
    ~OOracleCollection(void);
    
    // Open & Close
    oresult Close(void);   // close the set
    
    // overloaded operators
    OOracleCollection &operator=(const OOracleCollection &other);
    
	 // # of items in the set
    long   GetCount(void) const;

protected:
    oresult OpenSetHelper(void *idisp, void *otheri, unsigned char stype);  // finish the work of opening the set
    void  *GetItem(unsigned char stype, int index) const;
    void  *GetItem(oboolean oflag, const char *name) const;

private:
    unsigned char m_settype;
    
	 // internal helper routines
    oresult Cleanup(void);
	 oresult Copy(const OOracleCollection &other);
}                                                       ;

// ----- OSession -----------------------------------------------

class OEXPORT OSession : public OOracleObject
{
public:
    // construction & destruction
    OSession(void);
    OSession(const OSession &other); // copy constructor
    OSession(const char *sname);     // construct & open (NULL sname means open default session)
	 ~OSession(void);
    
    // open the session
    oresult Open(void);               // open the default session
    oresult Open(const char *sname);  // open a new session with specific name
    oresult Close(void);
    
    // Getting other objects
    OConnectionCollection GetConnections(void) const;
    OClient GetClient(void) const; 
    static OSession GetNamedSession(const char *sname);

    // overloaded operators
    OSession &operator=(const OSession &other);
	
	oresult CreateDatabasePool
	    (long initSize, long maxSize, long timeOut, 
		 const char *dbname, const char *username, 
		 const char *pwd,long options = ODATABASE_DEFAULT);
	
	ODatabase OSession::GetDatabaseFromPool(long waitTime);

	oresult OSession::GetUserPwd(const char *username, const char *pwd, char **retname);

	oresult OSession::DestroyDatabasePool();

	long OSession::GetDbPoolMaxSize() const;

	long OSession::GetDbPoolCurrentSize() const; 

	long OSession::GetDbPoolInitialSize() const;

	long OSession::GetDbPoolUsedCount() const;

    // error handling
    long ServerErrorNumber(void) const;
    const char *GetServerErrorText(void) const;
    oresult ServerErrorReset(void);
    
    // get properties
    const char       *GetName(void) const;   // returns session name 
    const char       *GetVersion(void) const;  // returns version of Oracle Objects
    
    // transaction operations
    oresult  BeginTransaction(void);  // start a transaction
    oresult  Commit(oboolean startnew = FALSE);   // commit (may start new transaction)
    oresult  Rollback(oboolean startnew = FALSE); // rolls back transaction (may start new transaction)
    oresult  ResetTransaction(void);  // unconditionally rollback (no advisories)
    
    // function used by other classes to construct OSession objects (don't call this!)
    oresult OpenHelper(void *idisp, void *otheri);

    // Memory Management Routines
    oresult  MemoryManager (int flags = -1);
    oresult  MemoryLog (int flags = -1);

private:
	 char      *m_name;
	 char      *m_errtext;
    char      *m_version;
    
    // internal helper routines
    oresult Cleanup(void);
    oresult Copy(const OSession &other);
    
};

// ----- OSessionCollection -----------------------------------------------

class OEXPORT OSessionCollection : public OOracleCollection
{
public:
    OSession GetSession(int index) const;

    // function used by other classes to construct OSessionCollection objects (don't call this!)
    oresult OpenHelper(void *idisp, void *otheri);  // finish the work of opening the set
};

// ----- ODatabase -----------------------------------------------

class OEXPORT ODatabase : public OOracleObject
{
public:
    // construction & destruction
    ODatabase(void);
    ODatabase(const ODatabase &other);
    ~ODatabase(void); 
    
    // construct & open
	 ODatabase(const OSession &dbsess, const char *dbname, const char *username,
					const char *pwd, long options = ODATABASE_DEFAULT);
	 ODatabase(const char *dbname, const char *username, const char *pwd,
					long options = ODATABASE_DEFAULT);

	 // for the Open calls, if pwd is NULL it is assumed that username contains username/password

	 // open a database on a new session (implicitly creates a session)
	 oresult Open(const char *dbname, const char *username, const char *pwd,
						long options = ODATABASE_DEFAULT);
	 // open a database on an existing session
	 oresult Open(const OSession &dbsess, const char *dbname,
						const char *username, const char *pwd,
						long options = ODATABASE_DEFAULT);

	 oresult Close(void);

	 // getting other objects
	 OSession GetSession(void) const;
	 OConnection GetConnection(void) const;
	 OParameterCollection GetParameters(void) const;

    // overloaded operators
    ODatabase &operator=(const ODatabase &other);
    
    // execute an arbitrary SQL statement
    oresult ExecuteSQL(const char *sqlstmt) const;
    long	GetRowsProcessed(void) const;
    
	 // properties
    const char *GetName(void) const;     // return database name (from the connection)
    const char *GetConnectString(void) const;  // return connect string (without password)
	 const char *GetRdbmsVersion(void) const;		// V2DEV - returns RDBMS Version
	 long        GetOptions(void) const;
    
    // error handling
    long ServerErrorNumber(void) const;
    const char *GetServerErrorText(void) const;
    oresult ServerErrorReset(void);
    int ServerErrorSQLPos(void) const;
    
    // function used by other classes to construct ODatabase objects (don't call this!)
    oresult OpenHelper(void *idisp, void *otheri);

private:
    long	m_numrows;
    char    *m_dbname;
    char    *m_dbconnect;
	 char    *m_errtext;
	 char		*m_version;
    
    // internal helper routines
    oresult Cleanup(void);
    oresult Copy(const ODatabase &other);
	 oresult GetUserPwd(const char *username, const char *pwd, char **retname);
};

// ----- OValue -----------------------------------------------

class OEXPORT OValue
{
public:
    // construction & destruction
    OValue(void);
    OValue(int intval);       // allows OValue val = 3
    OValue(long longval);     // allows OValue val = 99L;
    OValue(double doubleval); // allows initialization with a double
    OValue(const char *tval); // allows initialization with a string
    OValue(const OValue &other); // copy constructor
	 OValue(short *intval);		// Added for ARRAYINSERT
	 OValue(int *intval);		// Added for ARRAYINSERT
	 OValue(long *longval);		// Added for ARRAYINSERT
	 OValue(double *doubleval);// Added for ARRAYINSERT
	 OValue(char **tval);		// Added for ARRAYINSERT
	 ~OValue(void);
    
	 OValue &operator=(const OValue &other);
    int operator==(const OValue &other) const;
    int operator!=(const OValue &other) const;
    
    // setting the data & type
    oresult Clear(void);    // clear the values
    oresult SetValue(const OValue &val);
    oresult SetValue(const char *val); // sets string value (copies text)
    oresult SetValue(int val);     // sets to int value
    oresult SetValue(long val);
    oresult SetValue(double dval); // sets to double value 
    // oresult SetValue(const void *longval, long len);  // set to long value (not implemented)
	 oresult SetValue(char **val);		// Added for ARRAYINSERT
	 oresult SetValue(short *val);		// Added for ARRAYINSERT
	 oresult SetValue(int *val);		// Added for ARRAYINSERT
	 oresult SetValue(long *val);		// Added for ARRAYINSERT
	 oresult SetValue(double *dval);	// Added for ARRAYINSERT

    oboolean IsNull(void) const;  // returns TRUE if value is NULL (which includes uninitialized)
    
    // getting data (overloaded cast operators)
    operator int() const;
    operator long() const;
    operator const char *() const; // returns 0 if instance isn't string (no allocation)
    operator double() const;
    
    // conversions to implementation-specific representations (used by OField)
    oresult FromLocalType(void *localv);

    // helper routine for implementation of other classes
    void *Internal(void) const;    
private:
    OOLEvar  *m_value;  // pointer to data representation 
    // helper routines
    oresult Copy(const OValue &other);
    oresult Cleanup(void);
};

// ----- ODynaset -----------------------------------------------

class OEXPORT ODynaset : public OOracleObject
{
public:
    // construction & destruction
    ODynaset(void);
	 ODynaset(const ODynaset &other);
	 ODynaset(const ODatabase &odb, const char *sql_statement,
					long options = ODYNASET_DEFAULT);  // construct & open
//	Added for V2DEV custom dynaset
	ODynaset(const ODatabase &odb, const char *sql_statement,
					unsigned int slicesize, unsigned int perblock,
					unsigned int blocks, unsigned int fetchlimit,
					unsigned int fetchsize, long options = ODYNASET_DEFAULT);

	~ODynaset(void);

	// Open takes an SQL query as an argument.  This constructs a set of records which can
	//    then be accessed.
	oresult Open(const ODatabase &odb, const char *sql_statement,
						long options = ODYNASET_DEFAULT);  // creates a dynaset object
	//	Added for V2DEV custom dynaset
	oresult Open(const ODatabase &odb, const char *sql_statement,
					unsigned int slicesize, unsigned int perblock,
					unsigned int blocks, unsigned int fetchlimit,
					unsigned int fetchsize, long options = ODYNASET_DEFAULT);

	 // The clone of a dynaset is looking at the original data, but has a different navigational
    //    position.  Useful if you want to navigate through a set of data without side-effects
    oresult Close(void);

    // getting other objects
    ODynaset Clone(void) const;  // clone a dynaset
	 ODatabase GetDatabase(void) const;
    OFieldCollection GetFields(void) const;
    OSession GetSession(void) const;
	 OField GetField(int index) const;
    OField GetField(const char *fieldname) const;
	int GetFieldOriginalNameIndex(const char *fieldname) const;
    OConnection GetConnection(void) const;
	 ODynasetMark GetMark(void) const;  // bookmark at current position
    ODynasetMark GetLastModifiedMark(void) const;  // get bookmark at last modified record 
    
	 // overloaded operators
    ODynaset &operator=(const ODynaset &other);
    
	 // the sql statement of the dynaset
    oresult SetSQL(const char *sql_statement);  // sets new sql statement for the dynaset
    const char *GetSQL(void) const;  // gets sql statement
	 oresult Refresh(void);  // refresh dynaset with current sql statement

    // navigation methods
	 oresult MoveFirst(void);   // go to first record in the set
    oresult MoveLast(void);    // go to last record in the set.  Note that this requires that all the records
                            //    in the query be downloaded from the server.  Can be expensive.

	 // MovePrev and MoveNext take a "gopast" argument.  If it is TRUE we can navigate to an
	 //   invalid record before the first or after the last.  If "gopast" is FALSE, then we won't
    //   go before the first or after the last record.  
	 oresult MovePrev(oboolean gopast = TRUE);    // go to previous record
	 oresult MoveNext(oboolean gopast = TRUE);    // go to next record - the most frequently used
//	V2DEV - extra move methods
	 oresult MovePrevN(long rows, oboolean gopast = TRUE);    // go to previous (n) record
	 oresult MoveNextN(long rows, oboolean gopast = TRUE);    // go to next (n) record
	 oresult MoveRel(long rows, oboolean gopast = TRUE);    // go to relative record (n)
	 oresult MoveTo(long rownum, oboolean gopast = TRUE);    // go to record (n)

	 oresult MoveToMark(const ODynasetMark &odmark);  // repositions to mark (see ODynasetMark class)
    oboolean IsEOF(void) const;  // true if at end of dynaset.  Set to TRUE when you have tried to go
                                //     beyond the end
	 oboolean IsBOF(void) const;  // true if at begin of dynaset
    oboolean IsValidRecord(void) const;  // true if current row is valid
    
	 // editing
    oboolean CanTransact(void) const;  // returns TRUE if transaction processing is enabled 
    oboolean CanUpdate(void) const;  // returns TRUE if this dynaset is updatable
	 int GetEditMode(void) const;  // returns current edit mode: ODYNASET_EDIT_*
	 oresult StartEdit(void);  // starts edit operation

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久a久久精品亚洲| 九九在线精品视频| 久久欧美中文字幕| 日韩欧美不卡在线观看视频| 欧美日韩视频不卡| 欧美中文字幕一区二区三区| 欧美亚洲国产怡红院影院| 91激情在线视频| 欧美色网站导航| 51精品国自产在线| 欧美成人猛片aaaaaaa| 久久综合九色综合97婷婷| 精品日韩av一区二区| 国产欧美日韩综合精品一区二区| 久久久久久久久久美女| 国产日韩欧美麻豆| 亚洲欧洲一区二区三区| 亚洲国产综合在线| 美女精品一区二区| 精品亚洲成av人在线观看| 久草这里只有精品视频| 国产一区二区三区在线观看精品 | 3atv在线一区二区三区| 欧美巨大另类极品videosbest | 日本vs亚洲vs韩国一区三区二区| 亚洲综合网站在线观看| 亚洲最新视频在线观看| 亚洲一区二区视频在线观看| 亚洲国产精品久久不卡毛片| 亚洲一区中文在线| 午夜精品123| 美国毛片一区二区| 国产精品羞羞答答xxdd | 中文字幕二三区不卡| 综合久久综合久久| 亚洲一区二区视频在线| 亚洲h在线观看| 美国毛片一区二区| 九一九一国产精品| 色婷婷激情综合| 3d动漫精品啪啪1区2区免费| 精品国产在天天线2019| 日本一区二区三区国色天香| 久久先锋资源网| 亚洲精品伦理在线| 免费成人深夜小野草| 成人性色生活片| 欧美日韩一区二区在线观看 | 欧美男男青年gay1069videost| 91精品国产乱码| 国产精品久99| 日韩精品成人一区二区在线| 国产高清在线精品| 91浏览器在线视频| 欧美成人女星排行榜| 中文字幕在线观看一区二区| 亚洲一二三四久久| 成人永久免费视频| 欧美日韩一卡二卡| 国产三级三级三级精品8ⅰ区| 亚洲一区二区欧美激情| 国产一区二区在线观看免费 | 亚洲特级片在线| 激情六月婷婷久久| 在线观看亚洲一区| 欧美极品xxx| 奇米一区二区三区| 91传媒视频在线播放| 亚洲精品在线电影| 日韩国产高清在线| 色域天天综合网| 亚洲国产成人午夜在线一区| 一级做a爱片久久| 国产精品一区二区不卡| 色香蕉成人二区免费| 国产精品久久久久影院色老大| 久久国产精品无码网站| 欧美天堂亚洲电影院在线播放| 国产精品久久久久久妇女6080| 精品亚洲成a人| 日韩欧美一区在线观看| 天堂久久一区二区三区| 91福利资源站| 国产精品麻豆99久久久久久| 日本 国产 欧美色综合| 欧美日韩国产综合一区二区三区| 亚洲色图一区二区三区| 高清在线观看日韩| 国产欧美日韩精品一区| 国产毛片一区二区| 久久综合av免费| 久久精工是国产品牌吗| 精品捆绑美女sm三区| 久久精品噜噜噜成人88aⅴ | 日韩小视频在线观看专区| 一个色在线综合| 91精彩视频在线| 一区二区三区久久| 欧美日韩在线精品一区二区三区激情| 最新高清无码专区| 色综合一区二区| 亚洲一区二区三区在线| 欧美日韩国产小视频| 视频在线观看一区| 日韩一区二区在线观看视频播放| 婷婷成人激情在线网| 日韩西西人体444www| 久久99精品国产麻豆婷婷| 精品理论电影在线| 成人动漫av在线| 亚洲视频一二三区| 制服丝袜在线91| 国产一区二区精品久久| 国产精品日产欧美久久久久| 99re在线精品| 亚洲国产成人高清精品| 欧美成人伊人久久综合网| 国产成人精品亚洲日本在线桃色| 中文字幕中文字幕一区二区| 91性感美女视频| 日韩专区一卡二卡| 国产亚洲一二三区| 91电影在线观看| 狠狠色狠狠色综合| 亚洲欧洲av在线| 欧美一区在线视频| 成人免费电影视频| 午夜视黄欧洲亚洲| 久久久国际精品| 91片在线免费观看| 美女性感视频久久| 成人欧美一区二区三区1314| 91精品在线观看入口| 粉嫩高潮美女一区二区三区| 天天综合色天天综合色h| 国产日产精品1区| 91精品蜜臀在线一区尤物| 国产凹凸在线观看一区二区| 亚洲成人在线观看视频| 精品福利一区二区三区免费视频| 欧美在线免费观看亚洲| 国产999精品久久久久久绿帽| 亚洲高清不卡在线| 国产精品久久久久一区二区三区共 | 亚洲午夜视频在线| 国产日产欧美一区| 日韩免费高清电影| 精品视频全国免费看| 99精品视频一区二区三区| 久久国产精品一区二区| 图片区小说区区亚洲影院| 亚洲人成网站色在线观看| 久久亚洲精华国产精华液| 91精品国产91综合久久蜜臀| 99视频国产精品| 免费在线观看视频一区| 五月天中文字幕一区二区| 亚洲欧洲日韩在线| 国产精品欧美一区二区三区| 日韩欧美卡一卡二| 欧美一区二区三区喷汁尤物| 精品污污网站免费看| 日本久久电影网| 99视频国产精品| 成人性生交大合| 成人白浆超碰人人人人| 国产宾馆实践打屁股91| 丰满岳乱妇一区二区三区| 国产一区在线观看视频| 激情综合亚洲精品| 免费人成在线不卡| 五月综合激情婷婷六月色窝| 亚洲成a人v欧美综合天堂 | 精品国产污污免费网站入口 | 国产精品视频一区二区三区不卡| 久久久国产综合精品女国产盗摄| 久久―日本道色综合久久| 欧美一区二区免费| 日韩一区二区三区电影| 欧美一级理论性理论a| 精品国产乱码久久久久久1区2区| 4438x亚洲最大成人网| 日韩精品一区二区三区四区| 欧美精品一区二区三区很污很色的 | 精品视频色一区| 精品三级av在线| 国产嫩草影院久久久久| 1区2区3区精品视频| 亚洲综合999| 男女性色大片免费观看一区二区| 美女任你摸久久| 韩国精品一区二区| 国产福利91精品| 色哟哟一区二区在线观看| 欧美性色黄大片手机版| 日韩精品中午字幕| 最新欧美精品一区二区三区| 亚洲高清免费视频| 国产揄拍国内精品对白| 91首页免费视频|