📄 ociobj.h
字号:
#ifndef _COCIObject
#define _COCIObject
#ifndef _COCIBase
#include "ocibase.h"
#endif
#ifndef _COCITable
#include "ocitab.h"
#endif
#ifndef _COCIRef
#include "ociref.h"
#endif
#ifndef _COCIAttribute
#include "ociattr.h"
#endif
class COCITable;
class COCILob;
class COCIDate;
class COCINumber;
template<class T>
class COCINestedTable;
class COCIObject : public COCIBase
{
public:
// Creates a transient object in application
COCIObject(const COCISession& Sess, OCITypeCode typecode, COCIType Type = COCIType());
// Create a new persistent object on server
COCIObject(const COCISession& Sess, COCITable Table, COCIType Type, COCIObject* parent = (COCIObject*)0);
// Creates a transient object in application
COCIObject(const COCISession& Sess, COCIType pType, COCIObject* parent = (COCIObject*)0);
// Create an object knowning the OCI instance, and the OCI Type
COCIObject(const COCISession& Sess, dvoid* object_instance, COCIType type, COCIObject* parent = 0, OCITypeCode = OCI_TYPECODE_OBJECT);
// Copy constructor
COCIObject(const COCIObject& src);
// Default constructor
COCIObject();
virtual ~COCIObject();
void array_pin();
void copy();
bool exists();
void flush(void);
void free(void);
bool is_locked();
OCIObjectLifetime life();
void lock();
void mark_delete();
void mark_delete_by_ref();
void mark_update();
void unmark();
void pin(OCIPinOpt pin_option = OCI_PIN_ANY, OCILockOpt lock_option = OCI_LOCK_NONE);
void unpin();
void pin_count_reset();
void pin_table();
void refresh();
COCIRef get_ref(void);
void get_ind(void);
void set_ind(OCIInd ind);
void set_attr_ind(char*, OCIInd ind);
// Accessors...
// set( <attribute name> , <attribute value> )
void set(const char*, const int value);
void set(const char*, const COCINumber& value);
void set(const char*, const char* value);
void set(const char*, const COCIString& value);
void set(const char*, const COCILob& value);
void set(const char*, const COCIObject& value);
void set(const char*, const COCIDate& value);
void set(const char*, const COCIRef& value);
void set(const char*, const COCINestedTable<COCIObject>& value);
void set(const char*, const COCINestedTable<COCINumber>& value);
void set(const char*, const COCINestedTable<COCIRef>& value);
// get( < attribute name > ) : COCIAttribute
COCIAttribute get(char* attr);
COCIObject& operator = (const COCIObject& src);
public:
const COCITable& get_table() const {return m_Table;}
const COCIType& get_type() const {return m_Type;}
const int get_attr_count() {return m_Type.get_attr_count(); }
// Brings back an array of objects given their refs
static std::vector<COCIObject> array_pin(std::vector<COCIRef>& refs, int cor_depth = 1);
dvoid* get_attr_instance(char* attr, OCIType*& attr_tdo);
private:
const COCISession& m_Session;
const OCITypeCode m_TypeCode;
COCIType m_Type;
COCITable m_Table;
OCIInd Ind;
dvoid* pinned_object;
COCIObject* m_parent_object;
bool m_Copy;
bool m_Transient;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -