十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Long long ago,项目里用的数据库是Oracle,服务用的是ICE,俺也是写过存储过程、发布过ICE服务的猿。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
::Ice::Int
KeywordMgr::KeywordMgrInterfaceI::AddDir(::Ice::Int userId,
::Ice::Int parentDirId,
const ::KeywordMgr::DirInfoStruct& dirInfo,
::KeywordMgr::ByteSequence& strErrMsg,
const Ice::Current& current)
{
CObjectQueryUtil db; //定义连接类
int dirId = 0;
int isHaveNode = 0;
int isParentExit = 0;
int flag = db.Init(m_strUser, m_strPwd, m_strDBSid);
if (flag == -1)
{
this ->ConvertStringToBytes(strErrMsg, db.GetLastErrMsg());
LOG_ERROR( "KeywordMgr:" + db.GetLastErrMsg());
return flag;
}
Statement * p_stmt = db.GetStatement();
try
{
if (p_stmt)
{
p_stmt->setSQL( "begin PKG_KEYWORD_MANAGE.p_dir_add(:v1, :v2, :v3, :v4, :v5, :v6, :v7); end;" );
p_stmt->setString(1, CCommonUtil::ConvertBytesToString(dirInfo.Name));
p_stmt->setInt(2, parentDirId);
p_stmt->setInt(3, userId);
p_stmt->setString(4, CCommonUtil::ConvertBytesToString(dirInfo.Remark));
p_stmt->registerOutParam(5, OCCIINT);
p_stmt->registerOutParam(6, OCCIINT);
p_stmt->registerOutParam(7, OCCIINT);
p_stmt->execute();
dirId = p_stmt->getInt(5);
isHaveNode = p_stmt->getInt(6);
isParentExit = p_stmt->getInt(7);
}
}
catch (SQLException & ex)
{
LOG_ERROR(Poco::format( "Insert new dir info fail: %s" , ex.getMessage()));
CCommonUtil::ConvertStringToBytes(strErrMsg, Poco::format( "Insert new dir info fail: %s" , ex.getMessage()));
db.CloseConnection();
return -1;
}
db.CloseConnection();
if (!isParentExit)
return -3;
if (isHaveNode)
return -2;
LOG_INFO( "Add new dir successfully" );
return dirId;
} |
王安琪,英文名Angel,南京邮电大学计算机应用技术硕士学位。 熟悉Java、C#编程语言。专注于WebService、海量数据处理、搜索引擎技术、消息中间件技术、分布式文件存储、.NET应用程序开发、系统架构设计。主要从事大数据管理系统的研发,项目经理,系统架构师,就职于江苏金陵科技集团有限公司。
Email:aitanjupt@hotmail.com
QQ:289770363