Я пытался обновить свои данные в соответствии с пользовательской сессией (UserLogin), но все время повторялось: Несоответствие типов данных в выражении критериев. print_r
только для целей тестирования.
Заранее спасибо,
Z
function Employee1_BeforeShow(& $sender)
{
$Employee1_BeforeShow = true;
$Component = & $sender;
$Container = & CCGetParentContainer($sender);
global $Employee1; //Compatibility$Page = CCGetParentPage($sender);
$db = $Page->Connections["PettyCashMDB"];
$sql1 = "UPDATE Employee SET Employee.LastActive = Date() WHERE Employee.[EmpID] = ". $_SESSION['UserLogin'];
$db->query($sql1);
print_r($_SESSION['UserLogin']);$db->close();
Employee1_BeforeShow @67-67106FAD
return $Employee1_BeforeShow;
}
РЕДАКТИРОВАТЬ: я попробовал метод @NanaPartykar и случайно заметил, что он получает значение от $_SESSION['UserLogin']
Просто тип данных отличается.
РЕДАКТИРОВАТЬ: он отображает ошибку Data type mismatch
но оба они являются строкой и возвращает строку.
Вместо Employee.[EmpID]
использовать Employee.EmpID
Вам нужны цитаты:
$sql1 = "UPDATE Employee SET Employee.LastActive = Date() WHERE Employee.[EmpID] = \'". $_SESSION['UserLogin'] . "\'";
Z — Существует множество встроенных функций Codecharge, которые помогают получать значения из строки запроса, сеансов и элементов управления.
например: CCGetSession («UserLogin», «по умолчанию»);
и выполнение SQL с некоторой проверкой (из раздела справки «Выполнение пользовательского SQL»):
$db = new clsDBConnection1();
$SQL = "INSERT INTO report (report_task_id,report_creator) ".
"VALUES (". $db->ToSQL(CCGetFromGet("task_id",0),ccsInteger) .",". $db->ToSQL(CCGetUserID(),ccsInteger) .")";
$db->query($SQL);
$db->close();
Функции $ db-> ToSQL (и CCToSQL) конвертируют и добавляют кавычки для соответствующих типов данных (ccsText, ccsDate).
В руководстве есть много примеров в разделе «Примеры» и «Справочник по программированию» для PHP (и ASP, .NET и т. Д.).
http://support.codecharge.com/tutorials.asp
Я настоятельно рекомендую взглянуть на некоторые примеры, так как Codecharge будет обрабатывать большую часть «сантехники», а добавление большого количества пользовательского кода вызовет проблемы с генерацией кода. В вашем примере вы должны добавить действие «Пользовательский код» к событию «Перед шоу» Записи и добавить туда свой код. Если вы добавите код где-либо, весь раздел кода (например, перед показом) изменит цвет и больше не будет обновляться, если вы что-то измените.
Например, если вы вручную отредактировали функцию «Обновление», чтобы изменить значение по умолчанию, то никакие изменения в среде IDE / Свойства не изменят функцию «Обновление» (например, добавление нового поля в запись).
Наконец-то получил его на работу, это код $sql1 = "UPDATE Employee SET LastActive = Date() WHERE EmpID = '$_SESSION[UserLogin]' ";
Спасибо всем, кто помог.