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

Тема в разделе "Delphi - Базы данных", создана пользователем V88, 11 мар 2011.

  1. V88

    V88 Well-Known Member

    Регистрация:
    22 окт 2008
    Сообщения:
    51
    Симпатии:
    0
    Всем доброго времени суток!
    Сегодня наткнулся с небольшой, но очень важной проблемой. Ситуация такова:
    Код (Delphi):
         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

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

    V88 Well-Known Member

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

    Тему мою можно удалить, по причине ее некоррекности.
     
Загрузка...

Поделиться этой страницей