📄 occidata.h
字号:
// 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 signed 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
const Number intPower(int val) const ;
const Number ceil() const ;
const Number floor() const ;
const Number squareroot() const ;
const int sign() const ;
// conversion routines
// Format Number and return as a OCCI_STD_NAMESPACE::string
OCCI_STD_NAMESPACE::string toText(const Environment *envp,
const OCCI_STD_NAMESPACE::string &fmt,const OCCI_STD_NAMESPACE::string &nlsParam="") const
;
// Create an Number from formatted text
void fromText(const Environment *envp,const OCCI_STD_NAMESPACE::string &number,
const OCCI_STD_NAMESPACE::string &fmt, const OCCI_STD_NAMESPACE::string &nlsParam = "")
;
void fromBytes(const Bytes &s) ;
Bytes toBytes() const;
// truncate digits
const Number trunc(int decplace) const ;
// round to the decplace place.
const Number round(int decplace) const ;
// returns an Number with digits decimal digits
const Number prec(int digits) const ;
const Number sin() const ;
const Number cos() const ;
const Number tan() const ;
const Number hypSin() const ;
const Number hypCos() const ;
const Number hypTan() const ;
const Number arcSin() const ;
const Number arcCos() const ;
const Number arcTan() const ;
const Number arcTan2(const Number &val) const;
const Number power(const Number &val) const;
const Number exp() const ;
const Number ln() const ;
const Number log(const Number &val) const;
bool isNull() const;
void setNull();
private:
/* Private constructor for constructing number from methods inside */
Number(const OCINumber &result);
OCINumber getOCINumber() const;
OCINumber data;
/* a flag to indicate if the Number is null */
bool numberIsNull;
void *numberExt;
// a >= b
friend bool operator>=(const Number &a, const Number &b);
// a < = b
friend bool operator<=(const Number &a, const Number &b);
// a > b
friend bool operator>(const Number &a, const Number &b);
// a < b
friend bool operator<(const Number &a, const Number &b);
friend class IntervalDS;
friend class IntervalYM;
friend const IntervalYM operator*(const IntervalYM &a,
const Number& factor) ;
friend const IntervalDS operator*(const IntervalDS &a,
const Number& factor) ;
friend const IntervalYM operator/(const IntervalYM &a,
const Number &factor) ;
friend const IntervalDS operator/(const IntervalDS &a,
const Number &factor) ;
friend class ResultSetImpl;
friend class StatementImpl;
friend class AnyDataImpl;
friend void getVector(const AnyData &any, OCCI_STD_NAMESPACE::vector<Number> &vect);
friend void setVector(AnyData &any,
const OCCI_STD_NAMESPACE::vector<Number> &vect) ;
friend Number MetaData::getNumber(MetaData::AttrId attrid) const ;
friend void getVector(Statement *stmt, unsigned int paramIndex,
OCCI_STD_NAMESPACE::vector<Number> &vect) ;
friend void setVector(Statement *stmt, unsigned int paramIndex,
const OCCI_STD_NAMESPACE::vector<Number> &vect, const OCCI_STD_NAMESPACE::string &sqltype);
friend void getVector(ResultSet *rs, unsigned int colIndex,
OCCI_STD_NAMESPACE::vector<Number> &vect);
};
class Date
{
public:
// Constructors
Date();
Date(const Date &a);
Date(const Environment *envp,int year = 1,unsigned int month = 1,
unsigned int day = 1,unsigned int hour = 0,
unsigned int minute = 0, unsigned int seconds = 0);
~Date();
// Methods
void setDate(int year = 1,unsigned int month = 1,unsigned int day = 1,
unsigned int hour = 0,unsigned int minute = 0,
unsigned int seconds = 0);
void getDate(int &year,unsigned int &month,unsigned int &day,
unsigned int &hour ,unsigned int &min ,unsigned int &sec) const;
Bytes toBytes() const ;
void fromBytes(const Bytes &byteStream,
const Environment *envp = NULL);
OCCI_STD_NAMESPACE::string toText(const OCCI_STD_NAMESPACE::string &fmt = "",const OCCI_STD_NAMESPACE::string &nlsParam = "") const;
void fromText(const OCCI_STD_NAMESPACE::string &datestr,const OCCI_STD_NAMESPACE::string &fmt = "",
const OCCI_STD_NAMESPACE::string &nlsParam = "",
const Environment *envp = NULL);
Date toZone(const OCCI_STD_NAMESPACE::string &zone1, const OCCI_STD_NAMESPACE::string &zone2) const;
Date& operator=(const Date &d);
Date addMonths(int i) const;
Date addDays(int i) const ;
Date lastDay() const ;
IntervalDS daysBetween(const Date &d) const;
Date nextDay(const OCCI_STD_NAMESPACE::string &dow) const;
bool isNull() const;
void setNull();
static Date getSystemDate(const Environment *envp) ;
private:
OCIDate date;
OCIEnv *envhp;
bool dateIsNull;
void *dateExt;
/* private constructor */
Date(OCIEnv *envp,OCIDate dateval);
OCIDate getOCIDate() const;
friend bool operator==(const Date &a,const Date &b);
friend bool operator>(const Date &a,const Date &b);
friend bool operator<(const Date &a,const Date &b);
friend bool operator!=(const Date &a,const Date &b);
friend bool operator>=(const Date &a,const Date &b);
friend bool operator<=(const Date &a,const Date &b);
friend class ResultSetImpl;
friend class StatementImpl;
friend class AnyDataImpl;
friend void getVector(const AnyData &any, OCCI_STD_NAMESPACE::vector<Date> &vect) ;
friend void setVector(AnyData &any, const OCCI_STD_NAMESPACE::vector<Date> &vect);
friend void getVector(Statement *stmt, unsigned int paramIndex,
OCCI_STD_NAMESPACE::vector<Date> &vect) ;
friend void setVector(Statement *stmt, unsigned int paramIndex,
const OCCI_STD_NAMESPACE::vector<Date> &vect, const OCCI_STD_NAMESPACE::string &sqltype) ;
friend void getVector(ResultSet *rs, unsigned int colIndex,
OCCI_STD_NAMESPACE::vector<Date> &vect) ;
}; //class Date
class Timestamp
{
public:
Timestamp() ;
Timestamp( const Environment *env, int year=1,
unsigned int month=1, unsigned int day=1, unsigned int hour=0,
unsigned int min=0 ,unsigned int sec=0, unsigned int fs=0, int tzhour=0,
int tzmin=0) ;
Timestamp( const Timestamp &src) ;
~Timestamp();
void getTimeZoneOffset( int &hour, int &minute) const ;
void getTime( unsigned int &hour, unsigned int &minute,
unsigned int &second, unsigned int &fs) const ;
void getDate( int &year, unsigned int &month, unsigned int &day )const ;
OCCI_STD_NAMESPACE::string toText(const OCCI_STD_NAMESPACE::string &fmt, unsigned int fsprec,
const OCCI_STD_NAMESPACE::string &nlsParam ="") const ;
void setTimeZoneOffset( int hour, int minute) ;
void setTime( unsigned int hour, unsigned int minute,
unsigned int second, unsigned int fs) ;
void setDate( int year, unsigned int month, unsigned int day ) ;
void setNull() ;
void fromText( const OCCI_STD_NAMESPACE::string ×tmpStr, const OCCI_STD_NAMESPACE::string &fmt ,
const OCCI_STD_NAMESPACE::string &nlsParam= "", const Environment *env =NULL);
bool isNull() const;
Timestamp & operator =( const Timestamp &src) ;
const IntervalYM subYM(const Timestamp& val) const ;
const IntervalDS subDS(const Timestamp& val) const ;
const Timestamp intervalAdd(const IntervalDS& val) const ;
const Timestamp intervalSub(const IntervalDS& val) const ;
const Timestamp intervalAdd(const IntervalYM& val) const ;
const Timestamp intervalSub(const IntervalYM& val) const ;
friend bool operator==(const Timestamp &a,const Timestamp &b);
friend bool operator>(const Timestamp &a,const Timestamp &b);
friend bool operator<(const Timestamp &a,const Timestamp &b);
friend bool operator !=(const Timestamp &a,const Timestamp &b);
friend bool operator >=(const Timestamp &a,const Timestamp &b);
friend bool operator <=(const Timestamp &a,const Timestamp &b);
friend class ResultSetImpl;
friend class StatementImpl;
friend class AnyDataImpl;
private:
OCIDateTime *ocidatetime;
OCIEnv *ocienv;
void *timestampExt;
OCIDateTime *getOCIDateTime() const;
Timestamp( OCIEnv *env, OCIDateTime *dt, bool toCopy = true) ;
void allocateDataMembers( OCIEnv *env) ;
friend void getVector(const AnyData &any,OCCI_STD_NAMESPACE::vector<Timestamp> &vect);
friend void setVector(AnyData &any,
const OCCI_STD_NAMESPACE::vector<Timestamp> &vect) ;
friend Timestamp MetaData::getTimestamp(
MetaData::AttrId attrid) const ;
friend void getVector(ResultSet *rs, unsigned int,
OCCI_STD_NAMESPACE::vector<Timestamp> &vect) ;
friend void getVector(Statement *rs, unsigned int,
OCCI_STD_NAMESPACE::vector<Timestamp> &vect) ;
friend void setVector(Statement *stmt, unsigned int paramIndex,
const OCCI_STD_NAMESPACE::vector<Timestamp> &vect, const OCCI_STD_NAMESPACE::string &sqltype) ;
}; // class Timestamp
class IntervalDS
{
public:
IntervalDS() ;
IntervalDS( const Environment *env,int day=0,
int hour=0, int minute=0, int second=0,
int fs=0) ;
IntervalDS( const IntervalDS &src) ;
~IntervalDS();
int getDay () const ;
int getHour () const ;
int getMinute () const ;
int getSecond() const ;
int getFracSec () const ;
void set( int day, int hour, int minute, int second, int fracsec) ;
void setNull() ;
void fromText( const OCCI_STD_NAMESPACE::string &inpstr, const OCCI_STD_NAMESPACE::string &nlsParam ="",
const Environment *env=NULL) ;
OCCI_STD_NAMESPACE::string toText( unsigned int lfprec, unsigned int fsprec,
const OCCI_STD_NAMESPACE::string &nlsParam="") const ;
bool isNull() const;
IntervalDS& operator =( const IntervalDS &src) ;
IntervalDS& operator +=( const IntervalDS &a);
IntervalDS& operator -=( const IntervalDS &a);
IntervalDS& operator *=( const Number &factor);
IntervalDS& operator /=( const Number &factor);
friend bool operator>(const IntervalDS &a,
const IntervalDS &b) ;
friend bool operator<(const IntervalDS &a,
const IntervalDS &b) ;
friend bool operator >=( const IntervalDS &a,
const IntervalDS &b);
friend bool operator <=( const IntervalDS &a,
const IntervalDS &b);
private:
OCIInterval *ociinter;
OCIEnv *ocienv;
void *intervalDSExt;
IntervalDS( OCIEnv *env, OCIInterval *inter) ;
OCIInterval * getOCIInterval() const;
void allocateDataMembers( OCIEnv *env) ;
friend const IntervalDS Timestamp::subDS(
const Timestamp& val) const ;
friend const Timestamp Timestamp::intervalAdd(
const IntervalDS& val) const ;
friend const Timestamp Timestamp::intervalSub(
const IntervalDS& val) const ;
friend class Date;
friend void getVector(ResultSet *rs, unsigned int,
OCCI_STD_NAMESPACE::vector<IntervalDS> &vect) ;
friend void getVector(Statement *rs, unsigned int,
OCCI_STD_NAMESPACE::vector<IntervalDS> &vect) ;
friend void setVector(Statement *stmt, unsigned int paramIndex,
const OCCI_STD_NAMESPACE::vector<IntervalDS> &vect, const OCCI_STD_NAMESPACE::string &sqltype) ;
friend class StatementImpl;
friend class ResultSetImpl;
}; //class IntervalDS
class IntervalYM
{
public:
IntervalYM() ;
IntervalYM( const Environment *env,int year=0, int month=0) ;
IntervalYM( const IntervalYM &src) ;
~IntervalYM();
int getYear() const ;
int getMonth() const ;
void set( int year, int month) ;
void setNull() ;
void fromText( const OCCI_STD_NAMESPACE::string &inpstr, const OCCI_STD_NAMESPACE::string &nlsParam="",
const Environment *env=NULL) ;
OCCI_STD_NAMESPACE::string toText( unsigned int lfprec, const OCCI_STD_NAMESPACE::string &nlsParam="") const;
bool isNull() const;
IntervalYM & operator =( const IntervalYM &src) ;
IntervalYM& operator +=( const IntervalYM &a);
IntervalYM& operator -=( const IntervalYM &a);
IntervalYM& operator *=( const Number &factor);
IntervalYM& operator /=( const Number &factor);
friend bool operator>(const IntervalYM &a, const IntervalYM &b) ;
friend bool operator<( const IntervalYM &a, const IntervalYM &b) ;
friend bool operator >=(const IntervalYM &a, const IntervalYM &b);
friend bool operator <=(const IntervalYM &a, const IntervalYM &b);
private:
OCIInterval *ociinter;
OCIEnv *ocienv;
void *intervalYMExt;
IntervalYM( OCIEnv *env, OCIInterval *inter) ;
OCIInterval *getOCIInterval() const;
void allocateDataMembers( OCIEnv *env) ;
friend const IntervalYM Timestamp :: subYM(
const Timestamp& val) const ;
friend const Timestamp Timestamp::intervalAdd(
const IntervalYM &val) const ;
friend const Timestamp Timestamp::intervalSub(
const IntervalYM &val) const ;
friend void getVector(ResultSet *rs, unsigned int,
OCCI_STD_NAMESPACE::vector<IntervalYM> &vect) ;
friend void getVector(Statement *rs, unsigned int,
OCCI_STD_NAMESPACE::vector<IntervalYM> &vect) ;
friend void setVector(Statement *stmt, unsigned int paramIndex,
const OCCI_STD_NAMESPACE::vector<IntervalYM> &vect, const OCCI_STD_NAMESPACE::string &sqltype) ;
friend class StatementImpl;
friend class ResultSetImpl;
}; //class IntervalYM
Number operator+(const Number &a, const Number &b) ;
Number operator/(const Number ÷nd, const Number &divisor) ;
Number operator*(const Number &a, const Number &b) ;
Number operator%(const Number &a, const Number &b) ;
Number operator-(const Number &subtrahend, const Number &subtractor) ;
bool operator==(const Number &a, const Number &b);
bool operator!=(const Number &a, const Number &b);
const IntervalYM operator+(const IntervalYM &a, const IntervalYM &b) ;
const IntervalYM operator-(const IntervalYM &a, const IntervalYM &b) ;
const IntervalYM operator*(const IntervalYM &a, const Number& factor);
const IntervalYM operator/(const IntervalYM &a, const Number &factor);
bool operator==(const IntervalYM &a, const IntervalYM &b) ;
bool operator!=(const IntervalYM &a, const IntervalYM &b) ;
const IntervalDS operator+(const IntervalDS &a, const IntervalDS &b) ;
const IntervalDS operator-(const IntervalDS &a, const IntervalDS &b) ;
const IntervalDS operator*(const IntervalDS &a, const Number& factor);
const IntervalDS operator/(const IntervalDS &a, const Number &factor);
bool operator==(const IntervalDS &a, const IntervalDS &b) ;
bool operator!=(const IntervalDS &a, const IntervalDS &b) ;
/*---------------------------------------------------------------------------
EXPORT FUNCTIONS
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
INTERNAL FUNCTIONS
---------------------------------------------------------------------------*/
} /* end of namespace occi */
} /* end of namespace oracle */
#endif /* OCCIDATA_ORACLE */
#endif /* _olint */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -