PowerBuilder: флажок в окне данных

У меня есть флажок в DataWindow, он может быть проверен и снят. Значение по умолчанию в БД равно 0. При его установке значение БД обновляется до 1, а при снятии флажка значение снова обновляется до 0.

Однако я хочу обновить базу данных только в том случае, если она имеет значение 0. Если оно уже равно 1, тогда я не хочу, чтобы пользователь мог изменить его обратно на 0. Поэтому, пожалуйста, скажите мне, как я могу это сделать? Вот код из моего DataWindow для столбца флажка:

column=(type=decimal(0)  update=yes updatewhereclause=yes name=ok dbname="table.ok"  values="1/0"  )

1 ответ

Вы можете защитить флажок, чтобы не снимать его: в general / protect поле вашего флажка:

if(ok = 1, 1, 0)

После того, как флажок был установлен, он становится защищенным (вам все равно придется обновить данные до базы). При следующем извлечении вы увидите, что флажок уже защищен.

Возможно, вам придется использовать подобное выражение для Pointer чтобы показать, что поле заблокировано, например, с помощью NoPointer! курсор.

Попробуйте использовать: if( upper(ok) = 'OFF', 1, 0) или наоборот: if(upper(ok) = 'ON', 1, 0) в зависимости от того, как вы устанавливаете значения включения / выключения в свойствах флажка.

Обратите внимание, я использую PowerBuilder 2017

Другие вопросы по тегам