* @author yuji TAKAHASHI */ /* getSerialCode 戻り値:連番 */ function getSerialCode($name,$conn,$dbSqlObj,$dbExecObj) { $strSql = $dbSqlObj->sqlBeginTrans(); $dbExecObj->exeSql($conn,$strSql); $strSql = $dbSqlObj->selectSerialnumberWithName($name); $result = $dbExecObj->exeSql($conn,$strSql); if (!$result) { echo "データベースに障害が発生しました。\n"; $strSql = $dbSqlObj->sqlRollBackTrans(); $dbExecObj->exeSql($conn,$strSql); exit; } $count = $dbExecObj->getNumRows($result); if ($count <= 0) { $strSql = $dbSqlObj->insertSerialnumber($name); $result = $dbExecObj->exeSql($conn,$strSql); if (!$result) { echo "データベースに障害が発生しました。\n"; $strSql = $dbSqlObj->sqlRollBackTrans(); $dbExecObj->exeSql($conn,$strSql); exit; } $code = 1; } else { $code = $dbExecObj->getResult($result, 0, "code"); $nextCode = $code + 1; $strSql = $dbSqlObj->updateSerialnumberWithName($nextCode,$name); $result = $dbExecObj->exeSql($conn,$strSql); if (!$result) { echo "データベースに障害が発生しました。\n"; $strSql = $dbSqlObj->sqlRollBackTrans(); $dbExecObj->exeSql($conn,$strSql); exit; } } $strSql = $dbSqlObj->sqlCommitTrans(); $dbExecObj->exeSql($conn,$strSql); return $code; } ?>