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/EmpI.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/EmpI.cpp')
-rw-r--r-- | cpp/demo/Database/Oracle/occi/EmpI.cpp | 142 |
1 files changed, 75 insertions, 67 deletions
diff --git a/cpp/demo/Database/Oracle/occi/EmpI.cpp b/cpp/demo/Database/Oracle/occi/EmpI.cpp index 5867fbfe8da..cf962f06356 100644 --- a/cpp/demo/Database/Oracle/occi/EmpI.cpp +++ b/cpp/demo/Database/Oracle/occi/EmpI.cpp @@ -55,8 +55,16 @@ EmpI::getDesc(const Ice::Current& current) } result.hiredate = empRef->getHiredate().toText(); - result.sal = empRef->getSal().toText(_env, "99,999.99"); - result.comm = empRef->getComm().toText(_env, "0.999"); + + if(!empRef->getSal().isNull()) + { + result.sal = empRef->getSal().toText(_env, "99999.99"); + } + + if(!empRef->getComm().isNull()) + { + result.comm = empRef->getComm().toText(_env, "0.999"); + } Ref<DEPT_T> deptRef = empRef->getDeptref(); if(!deptRef.isNull()) @@ -75,79 +83,79 @@ EmpI::getDesc(const Ice::Current& current) void EmpI::updateDesc(const HR::EmpDesc& newDesc, const Ice::Current& current) { ConnectionHolder conh(_pool); - - Ref<EMP_T> empRef = getRef(conh.connection(), decodeName(current.id.name)); - - empRef->setEname(newDesc.ename); - empRef->setJob(newDesc.job); - - if(newDesc.mgr == 0) { - empRef->setMgrref(Ref<EMP_T>()); - } - else - { - Ref<EMP_T> mgrRef = getRef(conh.connection(), - decodeName(newDesc.mgr->ice_getIdentity().name)); - empRef->setMgrref(mgrRef); - } - - if(newDesc.hiredate == "") - { - empRef->setHiredate(Date()); - } - else - { - Date hiredate(_env); - hiredate.fromText(newDesc.hiredate); - empRef->setHiredate(hiredate); - } - - - if(newDesc.sal == "") - { - empRef->setSal(Number()); - } - else - { - Number sal(0); - sal.fromText(_env, newDesc.sal, "99,999.99"); - empRef->setSal(sal); - } - - if(newDesc.comm == "") - { - empRef->setComm(Number()); - } - else - { - Number comm(0); - comm.fromText(_env, newDesc.comm, "0.999"); - empRef->setComm(comm); - } - - if(newDesc.edept == 0) - { - empRef->setDeptref(Ref<DEPT_T>()); - } - else - { - Ref<DEPT_T> deptRef = DeptI::getRef(conh.connection(), - decodeName(newDesc.edept->ice_getIdentity().name)); - empRef->setDeptref(deptRef); + Ref<EMP_T> empRef = getRef(conh.connection(), decodeName(current.id.name)); + + empRef->setEname(newDesc.ename); + empRef->setJob(newDesc.job); + + if(newDesc.mgr == 0) + { + empRef->setMgrref(Ref<EMP_T>()); + } + else + { + Ref<EMP_T> mgrRef = getRef(conh.connection(), + decodeName(newDesc.mgr->ice_getIdentity().name)); + empRef->setMgrref(mgrRef); + } + + if(newDesc.hiredate == "") + { + empRef->setHiredate(Date()); + } + else + { + Date hiredate(_env); + hiredate.fromText(newDesc.hiredate); + empRef->setHiredate(hiredate); + } + + if(newDesc.sal == "") + { + empRef->setSal(Number()); + } + else + { + Number sal(0); + sal.fromText(_env, newDesc.sal, "99999.99"); + empRef->setSal(sal); + } + + if(newDesc.comm == "") + { + empRef->setComm(Number()); + } + else + { + Number comm(0); + comm.fromText(_env, newDesc.comm, "0.999"); + empRef->setComm(comm); + } + + if(newDesc.edept == 0) + { + empRef->setDeptref(Ref<DEPT_T>()); + } + else + { + Ref<DEPT_T> deptRef = DeptI::getRef(conh.connection(), + decodeName(newDesc.edept->ice_getIdentity().name)); + empRef->setDeptref(deptRef); + } + + empRef->markModified(); } - - empRef->markModified(); conh.commit(); } void EmpI::remove(const Ice::Current& current) { ConnectionHolder conh(_pool); - - Ref<EMP_T> empRef = getRef(conh.connection(), decodeName(current.id.name)); - - empRef->markDelete(); + { + Ref<EMP_T> empRef = getRef(conh.connection(), decodeName(current.id.name)); + empRef->markDelete(); + } conh.commit(); } |