diff options
author | Bernard Normier <bernard@zeroc.com> | 2006-08-21 21:16:39 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2006-08-21 21:16:39 +0000 |
commit | 0071d7f28b523ad8cf43c334befdfa527578b5c0 (patch) | |
tree | f73d6f7544ca790c7c4f2451ddcb76dc52c4044b /cpp/demo/Database/Oracle/occi/DeptI.cpp | |
parent | fixing stupid argument passing bug (diff) | |
download | ice-0071d7f28b523ad8cf43c334befdfa527578b5c0.tar.bz2 ice-0071d7f28b523ad8cf43c334befdfa527578b5c0.tar.xz ice-0071d7f28b523ad8cf43c334befdfa527578b5c0.zip |
Oracle occi demo
Diffstat (limited to 'cpp/demo/Database/Oracle/occi/DeptI.cpp')
-rw-r--r-- | cpp/demo/Database/Oracle/occi/DeptI.cpp | 107 |
1 files changed, 56 insertions, 51 deletions
diff --git a/cpp/demo/Database/Oracle/occi/DeptI.cpp b/cpp/demo/Database/Oracle/occi/DeptI.cpp index 3158fcd0a05..c0e0aa84a07 100644 --- a/cpp/demo/Database/Oracle/occi/DeptI.cpp +++ b/cpp/demo/Database/Oracle/occi/DeptI.cpp @@ -41,47 +41,48 @@ HR::EmpPrx DeptI::createEmp(int empno, const HR::EmpDesc& desc, const Ice::Current& current) { ConnectionHolder conh(_pool); - - Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); - - // - // Inserted into the OCCI cache - // - EMP_T* emp = new(conh.connection(), "EMP_VIEW")EMP_T; - - emp->setEmpno(empno); - emp->setEname(desc.ename); - emp->setJob(desc.job); - if(desc.mgr != 0) - { - Ref<EMP_T> mgrRef = - EmpI::getRef(conh.connection(), decodeName(desc.mgr->ice_getIdentity().name)); - - emp->setMgrref(mgrRef); - } - - if(desc.hiredate != "") - { - Date hiredate(_env); - hiredate.fromText(desc.hiredate); - emp->setHiredate(hiredate); - } - - if(desc.sal != "") { - Number sal(0); - sal.fromText(_env, desc.sal, "99,999.99"); - emp->setSal(sal); - } + Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); - if(desc.comm != "") - { - Number comm(0); - comm.fromText(_env, desc.comm, "0.999"); - emp->setComm(comm); + // + // Inserted into the OCCI cache + // + EMP_T* emp = new(conh.connection(), "EMP_VIEW")EMP_T; + + emp->setEmpno(empno); + emp->setEname(desc.ename); + emp->setJob(desc.job); + if(desc.mgr != 0) + { + Ref<EMP_T> mgrRef = + EmpI::getRef(conh.connection(), decodeName(desc.mgr->ice_getIdentity().name)); + + emp->setMgrref(mgrRef); + } + + if(desc.hiredate != "") + { + Date hiredate(_env); + hiredate.fromText(desc.hiredate); + emp->setHiredate(hiredate); + } + + if(desc.sal != "") + { + Number sal(0); + sal.fromText(_env, desc.sal, "99999.99"); + emp->setSal(sal); + } + + if(desc.comm != "") + { + Number comm(0); + comm.fromText(_env, desc.comm, "0.999"); + emp->setComm(comm); + } + + emp->setDeptref(deptRef); } - - emp->setDeptref(deptRef); conh.commit(); Ice::Identity empId; @@ -94,12 +95,14 @@ HR::DeptDesc DeptI::getDesc(const Ice::Current& current) { assert(this != 0); - - ConnectionHolder conh(_pool); - - Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); + HR::DeptDesc result; - HR::DeptDesc result = {deptRef->getDname(), deptRef->getLoc()}; + ConnectionHolder conh(_pool); + { + Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); + result.dname = deptRef->getDname(); + result.loc = deptRef->getLoc(); + } conh.commit(); return result; } @@ -107,21 +110,23 @@ DeptI::getDesc(const Ice::Current& current) void DeptI::updateDesc(const HR::DeptDesc& newDesc, const Ice::Current& current) { ConnectionHolder conh(_pool); + { + Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); - Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); - - deptRef->setDname(newDesc.dname); - deptRef->setLoc(newDesc.loc); - deptRef->markModified(); + deptRef->setDname(newDesc.dname); + deptRef->setLoc(newDesc.loc); + deptRef->markModified(); + } conh.commit(); } void DeptI::remove(const Ice::Current& current) { ConnectionHolder conh(_pool); - - Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); - deptRef->markDelete(); + { + Ref<DEPT_T> deptRef = getRef(conh.connection(), decodeName(current.id.name)); + deptRef->markDelete(); + } conh.commit(); } |