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

📄 occidata.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Copyright (c) Oracle Corporation 2000, 2001. All Rights Reserved. */    /*    NAME      occiData.h - header file for OCCI data classes   DESCRIPTION      Class definitions for Stream, Blob, Clob ,Bfile,     Number, Date, IntervalYM, IntervalDS, Time,     Timestamp   RELATED DOCUMENTS      <note any documents related to this facility>    EXPORT FUNCTION(S)    <external functions declared for use outside package - one-line descriptions>   INTERNAL FUNCTION(S)     <other external functions declared - one-line descriptions>   EXAMPLES   NOTES     <other useful comments, qualifications, etc.>   MODIFIED   (MM/DD/YY)   rvallam     04/09/01 - change private constructor in Number to pass                          parameter by reference and made it const   chliang     03/05/01 - disable olint   rvallam     01/27/02 - remove #include <ostream>   gayyappa    01/17/01 - add methods/operators to Interval and                          timestamp classes..   gayyappa    12/15/00 - interface changes in set methods   rvallam     11/29/00 - change method signature in Bytes                          added 3 new methods in Number     rvallam     10/20/00  - change method signatures in Date   rvallam     09/15/00 - make StmtImpl/ResultSetImpl friend to                           interval classes    gayyappa    08/21/00 - modified timestamp, interval headers.                          add OCIEnv to constructor of Bytes.,                          removed getOCIRaw from Bytes.                          add const to setVector mthds of anydata.                          add dvoid* data member to Timestamp/Interval.   rvallam     08/10/00 - modified CORE class headers to add friends ,                           added private constructor in Bytes   slari       08/02/00 - comment out Stream   rratnam     08/04/00 - updated the LOB stream interface   rkasamse    08/07/00 - make getVector friend of Time   slari       07/31/00 - add const to Bytes methods   slari       07/25/00 - disable Bytes(Bytes *)   slari       07/23/00 - add Bytes   gayyappa    07/26/00 - update Timestamp, IntervalYM, IntervalDS.   gayyappa    07/04/00 - for fixing a problem in occiNumber   rratnam     06/13/00 - Updated LOB class headers   kmohan      05/31/00 - Change Environment to Environment * in 			  Date constructor   kmohan      05/29/00 - No string   rkasamse    04/25/00 - Added string class header   etucker     04/19/00 - Added CORE class headers   kmohan      04/11/00 - Creation*/#ifndef _olint   /* disable olint check */#ifndef OCCIDATA_ORACLE# define OCCIDATA_ORACLE#ifndef OCCICOMMON_ORACLE#include <occiCommon.h>#endif#ifndef OCCICONTROL_ORACLE#include <occiControl.h>#endifnamespace oracle {namespace occi {class Bytes{  public:   Bytes(const Environment *env = NULL);      // default constructor   Bytes(unsigned char *value, unsigned int count,             unsigned int offset = 0, const Environment *env = NULL);   Bytes(const Bytes &e); // copy constructor                     // public methods   virtual void getBytes(unsigned char *dst, unsigned int count,                         unsigned int srcBegin = 0,                        unsigned int dstBegin = 0) const;    virtual unsigned int length() const;   virtual unsigned char byteAt(unsigned int index) const;  virtual bool isNull() const;   virtual void setNull();   virtual ~Bytes() {}private:                                // private data members  Bytes(OCIEnv *,OCIRaw *) ;  Ptr<BytesImpl> ptr_;  friend class AnyDataImpl;  friend  void getVector(const AnyData &any, OCCI_STD_NAMESPACE::vector<Bytes> &vect) ;  friend  void setVector(AnyData &any,   const OCCI_STD_NAMESPACE::vector<Bytes> &vect) ;}; class Bfile{  public :    Bfile();    Bfile(const Connection *connectionp) ;    Bfile(const Bfile &srcBfile) ;    ~Bfile();    unsigned int length() const ;    OCCI_STD_NAMESPACE::string getDirAlias() const ;    OCCI_STD_NAMESPACE::string getFileName() const ;    void setName(const OCCI_STD_NAMESPACE::string &dirAlias, const OCCI_STD_NAMESPACE::string &fileName) ;    bool fileExists() const ;     Bfile& operator =(const Bfile &srcBfile) ;    bool operator ==(const Bfile &srcBfile) const ;    bool operator !=(const Bfile &srcBfile) const ;    void setNull() ;    bool isNull() const ;    bool isInitialized() const;    void open() ;    void close() ;    bool isOpen() const ;    unsigned int read(unsigned int  amt, unsigned char *buffer,      unsigned int  bufsize, unsigned int offset = 1) const ;    Stream* getStream(unsigned int offset = 1,      unsigned int amount =0)  ;    void closeStream(Stream *stream);  private:    //Data Members:    // pointer to the FILE locator    OCIBFileLocator *filep;     // pointer to the ConnectionImpl instance    const ConnectionImpl *connp;     // pointer to the LobStreamImpl instance obtained from this FILE    LobStreamImpl *streamp;    void *bfileExt;    //Enumerations:    enum {MAXDIRNAMELEN = 32, MAXFILENAMELEN = 256};    //Constructor:     Bfile(const Connection *connectionp,     OCIBFileLocator *locatorp) ;      //Methods:    OCIBFileLocator* getLocator() const;   // Friends  friend class AnyDataImpl;  friend class StatementImpl;  friend class ResultSetImpl;  friend class Blob;  friend class Clob;  friend void getVector(const AnyData&, OCCI_STD_NAMESPACE::vector<Bfile>&) ;  friend void getVector(Statement*, unsigned int,   OCCI_STD_NAMESPACE::vector<Bfile>&) ;  friend void getVector(ResultSet*, unsigned int ,   OCCI_STD_NAMESPACE::vector<Bfile>&) ;  friend void setVector(AnyData&, const OCCI_STD_NAMESPACE::vector<Bfile>&) ;  friend void setVector(Statement*, unsigned int,   const OCCI_STD_NAMESPACE::vector<Bfile>&, const OCCI_STD_NAMESPACE::string&) ;};class Blob{  public:    Blob();    Blob(const Connection *connectionp) ;    Blob(const Blob &srcBlob) ;    ~Blob();    unsigned int getChunkSize() const ;    unsigned int length() const ;    Blob& operator =(const Blob &srcBlob) ;    bool operator ==(const Blob &srcBlob) const ;    bool operator !=(const Blob &srcBlob) const ;    void setNull() ;    bool isNull() const ;    void setEmpty() ;    bool isInitialized() const;    void open(LobOpenMode mode=OCCI_LOB_READWRITE) ;    void close() ;    bool isOpen() const ;    void copy(const Blob &srcBlob, unsigned int numBytes,      unsigned int  dstOffset =1, unsigned int srcOffset =1) ;    void copy(const Bfile &srcBfile, unsigned int numBytes,      unsigned int  dstOffset =1, unsigned int srcOffset =1) ;    void append(const Blob &srcBlob) ;    unsigned int read(unsigned int  amt, unsigned char *buffer,      unsigned int  bufsize, unsigned int offset = 1) const ;    unsigned int write(unsigned int amt, unsigned char *buffer,      unsigned int bufsize, unsigned int offset = 1) ;    unsigned int writeChunk(unsigned int amt, unsigned char *buffer,      unsigned int bufsize, unsigned int offset = 1) ;    void trim(unsigned int newlen) ;    Stream* getStream(unsigned int offset = 1,      unsigned int amount =0)  ;    void closeStream(Stream *stream);  private:    //Data Members:    // pointer to the BLOB locator    OCIBlobLocator *lobp;     // pointer to the ConnectionImpl instance    const ConnectionImpl *connp;     // pointer to the LobStreamImpl instance obtained from this LOB    LobStreamImpl *streamp;     //for future use !    void *blobExt;    //Constructor:     Blob(const Connection *connectionp,     OCIBlobLocator *locatorp) ;    //Methods:    OCIBlobLocator* getLocator() const;  // Friends  friend class AnyDataImpl;  friend class StatementImpl;  friend class ResultSetImpl;  friend void getVector(const AnyData&, OCCI_STD_NAMESPACE::vector<Blob>&) ;  friend void getVector(Statement*, unsigned int,   OCCI_STD_NAMESPACE::vector<Blob>&) ;  friend void getVector(ResultSet*, unsigned int,   OCCI_STD_NAMESPACE::vector<Blob>&) ;  friend void setVector(AnyData&, const OCCI_STD_NAMESPACE::vector<Blob>&) ;  friend void setVector(Statement*, unsigned int,   const OCCI_STD_NAMESPACE::vector<Blob>&, const OCCI_STD_NAMESPACE::string&) ;};class Clob{  public:    Clob();    Clob(const Connection *connectionp) ;    Clob(const Clob &srcClob) ;    ~Clob();    unsigned int getChunkSize() const ;    unsigned int length() const ;    CharSet getCharSetId() const;    CharSetForm getCharSetForm() const;    Clob& operator =(const Clob &srcClob) ;    bool operator ==(const Clob &srcClob) const ;    bool operator !=(const Clob &srcClob) const ;    void setNull() ;    bool isNull() const ;    void setEmpty() ;    bool isInitialized() const;    void open(LobOpenMode mode=OCCI_LOB_READWRITE) ;    void close() ;    bool isOpen() const ;    void copy(const Clob &srcClob, unsigned int numBytes,      unsigned int  dstOffset = 1, unsigned int srcOffset = 1) ;    void copy(const Bfile &srcBfile, unsigned int numBytes,      unsigned int  dstOffset = 1, unsigned int srcOffset = 1) ;    void append(const Clob &srcClob) ;    unsigned int read(unsigned int  amt, unsigned char *buffer,      unsigned int  bufsize,  unsigned int offset = 1,      CharSet charsetId=DefaultCharSet,      CharSetForm charsetForm = OCCI_SQLCS_IMPLICIT) const ;    unsigned int write(unsigned int amt, unsigned char *buffer,      unsigned int bufsize,  unsigned int offset = 1,      CharSet charsetId=DefaultCharSet,      CharSetForm charsetForm = OCCI_SQLCS_IMPLICIT) ;    unsigned int writeChunk(unsigned int amt, unsigned char *buffer,      unsigned int bufsize, unsigned int offset = 1,      CharSet charsetId=DefaultCharSet,      CharSetForm charsetForm = OCCI_SQLCS_IMPLICIT) ;    void trim(unsigned int newlen) ;    Stream* getStream(unsigned int offset = 1,      unsigned int amount =0, CharSet charsetId=DefaultCharSet,      CharSetForm charsetForm = OCCI_SQLCS_IMPLICIT) ;    void closeStream(Stream *stream);  private:    //Data Members:    // pointer to the CLOB locator    OCIClobLocator *lobp;     // pointer to the ConnectionImpl instance    const ConnectionImpl *connp;     // pointer to the LobStreamImpl instance obtained from this LOB    LobStreamImpl *streamp;     //for future use !    void *clobExt;    //Constructor:     Clob(const Connection *connectionp,     OCIClobLocator *locatorp) ;    //Methods:    OCIClobLocator* getLocator() const;  // Friends  friend class AnyDataImpl;  friend class StatementImpl;  friend class ResultSetImpl;  friend void getVector(const AnyData&, OCCI_STD_NAMESPACE::vector<Clob>&) ;  friend void getVector(Statement*, unsigned int,   OCCI_STD_NAMESPACE::vector<Clob>&) ;  friend void getVector(ResultSet*, unsigned int,   OCCI_STD_NAMESPACE::vector<Clob>&) ;  friend void setVector(AnyData&, const OCCI_STD_NAMESPACE::vector<Clob>&) ;  friend void setVector(Statement*, unsigned int,   const OCCI_STD_NAMESPACE::vector<Clob>&, const OCCI_STD_NAMESPACE::string&) ;};class Number{  public: // Constructors  /* default constructor added  */  Number();  Number(const Number &srcNum);  Number(long double val) ;  Number(double val) ;  Number(float val) ;  Number(long val) ;  Number(int val) ;  Number(short val) ;  Number(char val) ;  Number(unsigned long val) ;  Number(unsigned int val) ;  Number(unsigned short val) ;  Number(unsigned char val) ;  ~Number();  // Methods  const Number abs() const ;  // unary negate  const Number operator-() ;  // unary increment  Number& operator++() ;  const Number operator++(int) ;  // unary decrement  Number& operator--() ;  const Number operator--(int) ;  // assigment operator  Number& operator=(const Number &a);  // add and assign  Number& operator+=(const Number &a) ;  // subtract and assign  Number& operator-=(const Number &a) ;  // Mulitply an assign  Number& operator*=(const Number &a) ;   // divide and assign  Number& operator/=(const Number &a) ;  // Modulo and assign  Number& operator%=(const Number &a) ;  // casting operators  operator long() const;  operator int() const;  operator short() const;  operator char() const;  operator unsigned long() const;  operator unsigned int() const;  operator unsigned short() const;  operator unsigned char() const;  operator long double() const;  operator double() const;  operator float() const;  // Decimal shift  const Number shift(int val) const ;  // Integer Power

⌨️ 快捷键说明

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