📄 ociobj2.cpp.old
字号:
#include "ociobj.h"
// Microsoft strikes again!! Templates get confused with large files (>500 lines!)
std::vector<COCIObject> COCIObject::array_pin(std::vector<COCIRef>& refs, int CORDepth)
{
/* OCIComplexObject *corhp = 0;
OCIComplexObjectComp *cordp = 0;
if(CORDepth > 0)
{
/*COCIObject tmp = *refs[0];
const COCIType& type = tmp.get_type();*/
/*CHECK(refs[0].m_Session.get_error(), OCIHandleAlloc((dvoid *)refs[0].m_Session.get_env(), (dvoid **)&corhp,
(ub4)OCI_HTYPE_COMPLEXOBJECT, 0,
(dvoid **)0));
CHECK(refs[0].m_Session.get_error(), OCIDescriptorAlloc((dvoid *)refs[0].m_Session.get_env(), (dvoid **)&cordp,
(ub4)OCI_DTYPE_COMPLEXOBJECTCOMP, 0,
(dvoid **)0)); */
//}
OCIRef** ref = new OCIRef * [refs.size()];
dvoid** obj_array = new dvoid * [refs.size()];
std::vector<COCIObject> objs(refs.size(),*refs[0]);
for(int i = 0; i < refs.size(); i++)
{
ref[i] = (OCIRef*)refs[i].get_instance();
}
memset(obj_array,0,objs.size()*sizeof(dvoid*));
ub4 pos = 0;
CHECK(refs[0].m_Session.get_error(),OCIObjectArrayPin(refs[0].m_Session.get_env(), refs[0].m_Session.get_error(), ref,
objs.size(), (OCIComplexObject **)0,0,
OCI_PIN_ANY,
OCI_DURATION_TRANS, OCI_LOCK_NONE,
obj_array, &pos));
for(i = 0; i < objs.size(); i++)
{
objs[i].set_instance(obj_array[i]);
}
delete [] ref;
delete [] obj_array;
return objs;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -