StartTransaction
CDatabase::StartTransaction()
Открывает транзакцию. Для закрытия используйте Commit или Rollback. Работает для Oracle, MSSQL, MySQL (для типа таблиц InnoDB). Нестатический метод.
Параметры
Без параметров.
Смотрите также
Примеры использования
<?
if (strlen($save)>0)
{
if (CheckFields())
{
$DB->PrepareFields("b_form");
$arFields = array(
"TIMESTAMP_X" => $DB->GetNowFunction(),
"NAME" => "'".trim($str_NAME)."'",
"VARNAME" => "'".trim($str_VARNAME)."'",
"C_SORT" => "'".intval($str_C_SORT)."'",
"FIRST_SITE_ID" => "'".$DB->ForSql($FIRST_SITE_ID,2)."'",
"BUTTON" => "'".$str_BUTTON."'",
"DESCRIPTION" => "'".$str_DESCRIPTION."'",
"DESCRIPTION_TYPE" => "'".$str_DESCRIPTION_TYPE."'",
"SHOW_TEMPLATE" => "'".trim($str_SHOW_TEMPLATE)."'",
"MAIL_EVENT_TYPE" => "'".$DB->ForSql("FORM_FILLING_".$str_VARNAME,50)."'",
"SHOW_RESULT_TEMPLATE" => "'".trim($str_SHOW_RESULT_TEMPLATE)."'",
"PRINT_RESULT_TEMPLATE" => "'".trim($str_PRINT_RESULT_TEMPLATE)."'",
"EDIT_RESULT_TEMPLATE" => "'".trim($str_EDIT_RESULT_TEMPLATE)."'",
"FILTER_RESULT_TEMPLATE" => "'".trim($str_FILTER_RESULT_TEMPLATE)."'",
"TABLE_RESULT_TEMPLATE" => "'".trim($str_TABLE_RESULT_TEMPLATE)."'",
"STAT_EVENT1" => "'".trim($str_STAT_EVENT1)."'",
"STAT_EVENT2" => "'".trim($str_STAT_EVENT2)."'",
"STAT_EVENT3" => "'".trim($str_STAT_EVENT3)."'"
);
$DB->StartTransaction();
if ($ID>0)
{
$DB->Update("b_form", $arFields, "WHERE ID='".$ID."'", $err_mess.__LINE__);
}
else
{
$ID = $DB->Insert("b_form", $arFields, $err_mess.__LINE__);
$new="Y";
}
$ID = intval($ID);
if (strlen($strError)<=0)
{
$DB->Commit();
if (strlen($save)>0) LocalRedirect("form_list.php?lang=".LANGUAGE_ID);
elseif ($new=="Y") LocalRedirect("form_edit.php?lang=".LANGUAGE_ID."&ID=".$ID);
}
else $DB->Rollback();
}
}
?>
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026