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

📄 sqlapi.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
📖 第 1 页 / 共 3 页
字号:
	void			*m_pReaderAddlData;	unsigned char	*m_pReaderBuf;	unsigned int	m_nReaderAlloc;	unsigned int	m_nExpectedSizeMax;	unsigned int	m_nReaderRead;	unsigned int	m_nPieceSize;	unsigned int PrepareReader(		unsigned int nExpectedSizeMax,	// to optimaze buf allocation for internal buffer, 0 = unknown		unsigned int nCallerMaxSize,	// max Piece that can be proceeced by API		unsigned char *&pBuf,		saLongOrLobReader_t fnReader,		unsigned int nReaderWantedPieceSize,		void *pReaderAddlData,		bool bAddSpaceForNull = false);	void InvokeReader(		SAPieceType_t ePieceType,		unsigned char *&pBuf,		unsigned int nPieceLen);	SAString asLongOrLob() const;protected:	SADataType_t	m_eDataType;	// null indicator	bool	*m_pbNull;	// scalar types	void	*m_pScalar;	// an exact numeric value with a fixed precision and scale	SANumeric	*m_pNumeric;	// Date time	SADateTime	*m_pDateTime;	// Time interval	SAInterval	*m_pInterval;	// variable length types (string, bytes, Longs and Lobs)	SAString	*m_pString;	// Cursor	SACommand	*m_pCursor;private:	// null indicator	bool	m_bInternalNull;	// scalar types	union	{		bool m_Bool;		short m_Short;		unsigned short m_uShort;		long m_Long;		unsigned long m_uLong;		double m_Double;	} m_InternalScalar;	SANumeric	m_InternalNumeric;	SADateTime	m_InternalDateTime;	SAInterval	m_InternalInterval;	// variable length types (string, bytes, Longs and Lobs)	SAString	m_InternalString;	// Cursor	SACommand	m_InternalCursor;public:	SAValueRead(SADataType_t eDataType);	SAValueRead(const SAValueRead &vr);	virtual ~SAValueRead();	SAValueRead &operator =(const SAValueRead &vr);public:	SADataType_t DataType() const;	// Null type	bool isNull() const;	// scalar types	bool asBool() const;	short asShort() const;	unsigned short asUShort() const;	long asLong() const;	unsigned long asULong() const;	double asDouble() const;	// numeric	SANumeric asNumeric() const;	// date/time	SADateTime asDateTime() const;	// Interval	SAInterval asInterval() const;	// variable length types	SAString asString() const;	SAString asBytes() const;	SAString asLongBinary() const;	SAString asLongChar() const;	SAString asBLob() const;	SAString asCLob() const;	// cursor	SACommand *asCursor() const;	void setLongOrLobReaderMode(SALongOrLobReaderModes_t eMode);	SALongOrLobReaderModes_t LongOrLobReaderMode() const;	// operators for quick accessing values	// do not inline to prevent varnings	operator bool() const;	operator short() const;	operator unsigned short() const;	operator long() const;	operator unsigned long() const;	operator double() const;	operator SANumeric() const;	operator SADateTime() const;	operator SAInterval() const;	operator SAString() const;	operator SACommand *() const;	// data and indicator storagepublic:	void setIndicatorStorage(bool *pStorage);	void setDataStorage(void *pStorage, SADataType_t eDataType);};class SQLAPI_API SAValue : public SAValueRead{	friend class ISACursor;	friend class IibCursor;	friend class IssDBLibCursor;	friend class Iora7Cursor;	friend class Iora8Cursor;	friend class IsbCursor;	friend class IodbcCursor;	friend class Idb2Cursor;	friend class IinfCursor;	friend class IsybCursor;	friend class ImyCursor;	friend class IpgCursor;	friend class Isl3Cursor;private:	bool	m_bInternalUseDefault;protected:	bool	*m_pbUseDefault;	saLongOrLobWriter_t	m_fnWriter;	int	m_nWriterSize;	void			*m_pWriterAddlData;	void			*m_pWriterBuf;	unsigned int	m_nWriterAlloc;	unsigned int	m_nWriterWritten;	unsigned int InvokeWriter(		SAPieceType_t &ePieceType,		int nCallerMaxSize,		void *&pBuf);public:	SAValue(SADataType_t eDataType);	virtual ~SAValue();	// Sets NULL value	void setAsNull();	// Sets a flag to use default value	void setAsDefault();	// queries if "default value" flag is set	bool isDefault() const;	void setAsUnknown();	// scalar types	bool &setAsBool();	short &setAsShort();	unsigned short &setAsUShort();	long &setAsLong();	unsigned long &setAsULong();	double &setAsDouble();	// numeric	SANumeric &setAsNumeric();	// date/time	SADateTime &setAsDateTime();	// interval	SAInterval &setAsInterval();	// variable length types	SAString &setAsString();	SAString &setAsBytes();	SAString &setAsLongBinary(		saLongOrLobWriter_t fnWriter = NULL,		unsigned int nWriterSize = 0, void *pAddlData = NULL);	SAString &setAsLongChar(		saLongOrLobWriter_t fnWriter = NULL,		unsigned int nWriterSize = 0, void *pAddlData = NULL);	SAString &setAsBLob(		saLongOrLobWriter_t fnWriter = NULL,		unsigned int nWriterSize = 0, void *pAddlData = NULL);	SAString &setAsCLob(		saLongOrLobWriter_t fnWriter = NULL,		unsigned int nWriterSize = 0, void *pAddlData = NULL);	// cursor	SACommand *&setAsCursor();	// special set function(s)	SAValueRead &setAsValueRead();};class SQLAPI_API SAParam : public SAValue{	friend class SACommand;	friend class saPlaceHolder;	friend class saOptions;	SACommand *m_pCommand;	SAString			m_sName;	SADataType_t		m_eParamType;	int					m_nNativeType;	int					m_nParamSize;	int					m_nParamPrecision;	int					m_nParamScale;	SAParamDirType_t	m_eDirType;	saOptions m_Options;private:	// disable copy constructor	SAParam(const SAParam &);	// disable assignment operator	SAParam &operator = (const SAParam &);protected:	SAParam(		SACommand *pCommand,		const SAString &sName,		SADataType_t eParamType,		int nNativeType,		int nParamSize,		int	nParamPrecision,		int	nParamScale,		SAParamDirType_t eDirType);	virtual ~SAParam();public:	const SAString &Name() const;	SADataType_t ParamType() const;	void setParamType(SADataType_t eParamType);	int ParamNativeType() const;	void setParamNativeType(int nNativeType);	int ParamSize() const;	void setParamSize(int nParamSize);	SAParamDirType_t ParamDirType() const;	void setParamDirType(SAParamDirType_t eParamDirType);	int ParamPrecision() const;	void setParamPrecision(int nParamPrecision);	int ParamScale() const;	void setParamScale(int nParamScale);	void ReadLongOrLob(		saLongOrLobReader_t fnReader,		unsigned int nReaderWantedSize,		void *pAddlData);	SAString &setOption(const SAString &sOptionName);	SAString Option(const SAString &sOptionName) const;};class SQLAPI_API saPlaceHolder{	friend class SACommand;	SAString	m_sFullName;	int			m_nStart;	int			m_nEnd;	SAParam		*m_pParamRef;private:	saPlaceHolder(		const SAString &sFullName,		int nStart,		int nEnd,		SAParam *pParamRef);	virtual ~saPlaceHolder();public:	const SAString &getFullName() const;	int& getStart();	int& getEnd();	SAParam *getParam() const;};class SQLAPI_API SABytes : public SAString{public:	SABytes(const SAString &sData);};class SQLAPI_API SALongOrLob : public SAString{	friend class SACommand;protected:	saLongOrLobWriter_t	m_fnWriter;	unsigned int		m_nWriterPieceSize;	void				*m_pAddlData;	SALongOrLob(const SAString &sData);	SALongOrLob(		saLongOrLobWriter_t fnWriter,		unsigned int nWriterPieceSize,		void *pAddlData);};class SQLAPI_API SALongBinary : public SALongOrLob{public:	SALongBinary(const SAString &sData);	SALongBinary(		saLongOrLobWriter_t fnWriter,		unsigned int nWriterPieceSize,		void *pAddlData);};class SQLAPI_API SALongChar : public SALongOrLob{public:	SALongChar(const SAString &sData);	SALongChar(		saLongOrLobWriter_t fnWriter,		unsigned int nWriterPieceSize,		void *pAddlData);};class SQLAPI_API SABLob : public SALongOrLob{public:	SABLob(const SAString &sData);	SABLob(		saLongOrLobWriter_t fnWriter,		unsigned int nWriterPieceSize,		void *pAddlData);};class SQLAPI_API SACLob : public SALongOrLob{public:	SACLob(const SAString &sData);	SACLob(		saLongOrLobWriter_t fnWriter,		unsigned int nWriterPieceSize,		void *pAddlData);};class SQLAPI_API SAField : public SAValueRead{	friend class SACommand;	SACommand *m_pCommand;	// as reported by describe API	int					m_nPos;	// 1-based	SAString			m_sName;	SADataType_t		m_eFieldType;	int					m_nNativeType;	int					m_nFieldSize;	int					m_nFieldPrecision;	int					m_nFieldScale;	bool				m_bFieldRequired;	saOptions m_Options;private:	// disable copy constructor	SAField(const SAField &);	// disable assignment operator	SAField &operator = (const SAField &);protected:	SAField(		SACommand *pCommand,		int nPos,	// 1-based		const SAString &sName,		SADataType_t eFieldType,		int nNativeType,		int nFieldSize,		int nFieldPrecision,		int nFieldScale,		bool bFieldRequired);	virtual ~SAField();public:	int Pos() const;	const SAString &Name() const;	SADataType_t FieldType() const;	int FieldNativeType() const;	int FieldSize() const;	int FieldPrecision() const;	int FieldScale() const;	bool isFieldRequired() const;	// !!!	void setFieldSize(int nSize);	void setFieldType(SADataType_t eType);	void ReadLongOrLob(		saLongOrLobReader_t fnReader,		unsigned int nReaderWantedSize,		void *pAddlData);	SAString &setOption(const SAString &sOptionName);	SAString Option(const SAString &sOptionName) const;};class SQLAPI_API SAException#ifdef SQLAPI_EXCEPTION_DELIVERED_FROM    : public SQLAPI_EXCEPTION_DELIVERED_FROM#endif{	friend class SAConnection;	friend class SACommand;	friend class SAStoredProc;	friend class Iora7Connection;	friend class Iora8Connection;	friend class IibConnection;	friend class IodbcConnection;	friend class IsbConnection;	friend class Iss6Connection;public:	SAException(		SAErrorClass_t eError,		int nNativeError,		int nErrPos,		const SAString &sMsg);	SAException(		SAErrorClass_t eError,		int nNativeError,		int nErrPos,		const SAChar *lpszFormat, ...);	SAException(const SAException &other);public:	virtual ~SAException();	static void SQLAPI_CALLBACK throwUserException(		int nUserCode, const SAChar *lpszFormat, ...);	SAErrorClass_t ErrClass() const;	int ErrNativeCode() const;	int ErrPos() const;	SAString ErrText() const;	#ifdef SQLAPI_EXCEPTION_HAS_CUSTOM_MEMBERS	SQLAPI_EXCEPTION_HAS_CUSTOM_MEMBERS#endifprotected:	SAErrorClass_t	m_eErrorClass;	int				m_nNativeError;	int				m_nErrPos;	SAString		m_sMsg;	int	nReserved;};class SQLAPI_API SAUserException : public SAException{	friend class SAException;protected:	SAUserException(int nUserCode, const SAString &sMsg);public:	virtual ~SAUserException();};#define SQLAPI_VER_MAJOR	3#define SQLAPI_VER_MINOR	7#define SQLAPI_VER_BUILD	27//! Global SQLAPI++ settingsclass SQLAPI_API SAGlobals{public:	static char * SQLAPI_CALLBACK setlocale(int category, const char *locale);	static int GetVersionMajor();	static int GetVersionMinor();	static int GetVersionBuild();	static bool& UnloadAPI();};#endif // !defined(__SQLAPI_H__)

⌨️ 快捷键说明

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