• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как присвоить значение логическому полю?

  • Автор темы V88
  • Дата начала
V

V88

Всем доброго времени суток!
Сегодня наткнулся с небольшой, но очень важной проблемой. Ситуация такова:
Код:
	 CDS_REGISTR.Append;
CDS_REGISTRDatPost.Value:=StrToDate(dt);
CDS_REGISTRNK.AsString:=(exp);
CDS_REGISTRXoz.AsString:=xoz;
CDS_REGISTRKolvo.AsInteger:=StrToInt(kol);
CDS_REGISTRtip.AsInteger:=StrToInt(tip);
CDS_REGISTRtXoz.AsInteger:=StrToInt(tx);
if chbxFin.Checked then CDS_REGISTRDatRez.Value:=StrToDate(datrez);
if chbxFin.Checked then CDS_REGISTRfinished.AsBoolean:=True;
CDS_REGISTR.Post;

где CDS_REGISTR - это TADOTable; chbxFin - TCheckBox

В выше указанном коде Дельфи не может добавить запись иммено из-за этой строчки:
Код:
 if chbxFin.Checked then CDS_REGISTRfinished.AsBoolean:=True;
(когда условие выполняется)
Почему Дельфи выдает на POST ошибку: "CDS_REGISTR: DataSet not in edit or insert mode.", когда это условие выполняется.
И вообще как присваивать значение логическому полю таблицы? :(
 
V

V88

... И правда.... на DataSourse для CDS_Register по событию onChange стояло Cancel, если значение CDS_REGISTRfinished.AsBoolean=True, поэтому и не работало присвоение логическому полю. Я позже это заметил. Поторопился на форум писать. Извените, если что. :)

Тему мою можно удалить, по причине ее некоррекности.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!