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

📄 ociobj2.cpp.old

📁 一个通用的oracle OCI开发程序包
💻 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 + -