summaryrefslogtreecommitdiff
path: root/cpp/demo/Database/Oracle/occi/DeptI.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-08-21 21:16:39 +0000
committerBernard Normier <bernard@zeroc.com>2006-08-21 21:16:39 +0000
commit0071d7f28b523ad8cf43c334befdfa527578b5c0 (patch)
treef73d6f7544ca790c7c4f2451ddcb76dc52c4044b /cpp/demo/Database/Oracle/occi/DeptI.cpp
parentfixing stupid argument passing bug (diff)
downloadice-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.cpp107
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();
}