10.12.2012 Views

Oracle C++ Call Interface Programmer's Guide

Oracle C++ Call Interface Programmer's Guide

Oracle C++ Call Interface Programmer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The OTT Utility and OCCI Applications<br />

void CPerson::readSQL(oracle::occi::AnyData& streamOCCI_)<br />

{<br />

ID = streamOCCI_.getNumber();<br />

NAME = (MyFullName *) streamOCCI_.getObject();<br />

CURR_ADDR = streamOCCI_.getRef();<br />

getVector(streamOCCI_, PREV_ADDR_L);<br />

}<br />

void CPerson::writeSQL(void *objectOCCI_, void *ctxOCCI_)<br />

{<br />

CPerson *objOCCI_ = (CPerson *) objectOCCI_;<br />

oracle::occi::AnyData streamOCCI_(ctxOCCI_);<br />

try<br />

{<br />

if (objOCCI_->isNull())<br />

streamOCCI_.setNull();<br />

else<br />

objOCCI_->writeSQL(streamOCCI_);<br />

}<br />

catch (oracle::occi::SQLException& excep)<br />

{<br />

excep.setErrorCtx(ctxOCCI_);<br />

}<br />

return;<br />

}<br />

void CPerson::writeSQL(oracle::occi::AnyData& streamOCCI_)<br />

{<br />

streamOCCI_.setNumber(ID);<br />

streamOCCI_.setObject(NAME);<br />

streamOCCI_.setRef(CURR_ADDR);<br />

setVector(streamOCCI_, PREV_ADDR_L);<br />

}<br />

/*****************************************************************/<br />

// generated method implementations for the STUDENT object type.<br />

//<br />

// Note even though CStudent derives from MyPerson, the readSQL<br />

// and writeSQL methods called are those of CPerson.<br />

/*****************************************************************/<br />

void *CStudent::operator new(size_t size)<br />

{<br />

7-60 <strong>Oracle</strong> <strong>C++</strong> <strong>Call</strong> <strong>Interface</strong> Programmer’s <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!