Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.10.2013, 23:43   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию ADMemTable Dataset редактирование

Добрый день,

Есть DBGridEh который отображает данные из ADMemTable, который получает данные из ADQuery

Есть поле в гриде которое чекбокс, по нажатию на него делаются какое какие действия...
Ставлю проверку что статус установлен в выполнено, вывожу сообщение, перерисовываю таблицу и EXIT
Код:
procedure TfrmBase.gBaseColumns18UpdateData(Sender: TObject; var Text: string;
  var Value: Variant; var UseText, Handled: Boolean);
var
  id, idc, idln, idsotr, idw, FLAG: integer;
  DateV: TDateTime;
  // DateS: TDate;
  summ, DateS: string;

begin // При нажатии на чекбокс завершения работы
  FLAG := mtRecords.FieldValues['flag_end'];
  if FLAG = 1 then
  begin
    MessageBox(Handle, 'Статус "Выполнено" изменить нельзя', 'Предупреждение',
      MB_ICONINFORMATION + MB_OK);
    WorkSelect(WorkSQL);
    Exit;
  end;
...
Код:
function TfrmBase.WorkSelect(sSQL: string): Boolean;
begin
  // gBase.StartLoadingStatus('Загрузка', 1000);
  mtRecords.Active := False;
  qRecords.Open(sSQL);
  mtRecords.Data := qRecords.Data;

  // gBase.FinishLoadingStatus(10000);
end;
Проблема в том что при нажатии снимается чекбокс и датасет входит в режим dsEdit при котором соотвествено выдет ошибка при попытке что то сделать...
Я пытался и отключать Датасет и делать пост и тд и тп...
Но чего то не получается избежать данной ошибки... ПОдскажите как нужно правильно снять статус редактирования?
Dozent вне форума
Старый 16.10.2013, 09:25   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

существует два варианта решения о записи изменений в БД.
1. Post принять(записать) изменения
2. Cancel
Цитата:
Cancel returns the record to its previous state, and sets the dataset state to dsBrowse.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 16.10.2013 в 09:32.
evg_m на форуме
Старый 16.10.2013, 09:38   #3
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Как бы сказать, я попробовал уже всё из того что знаю)

gBase.DataSourse.DataSet.Cancel, ..DataSet.Post,
DataSet.State := dsBrowse проверял при этом дадействительно датасет находится в режиме едит ор инсерт... Но эта падла не хочет ни как выходить из этих режимов, ещё такой ньанс если не делаю WorkSelect(WorkSQL); То код отрабатывает, выводит сообщение выходит из функции но грид остаётся в режиме редактирования... Дальше, если ставлю WorkSelect(WorkSQL); то грид вылетает с ошибкой на этапе перерисовки грида...
Dozent вне форума
Старый 16.10.2013, 11:22   #4
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

хелп ми плз...
Dozent вне форума
Старый 17.10.2013, 08:57   #5
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Переделал логику программы, вынес выполняемый код в кнопку, всё работает как надо. Тему можно закрыть...
Dozent вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строку из одного DataSet в другой DataSet Abbath1349 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 22.05.2011 19:26
Из DataSet работающего по циклу в DataSet maroder22 БД в Delphi 1 05.09.2010 23:22
dataset sergei64_89 Общие вопросы .NET 1 19.09.2008 20:14
DataSet nimf БД в Delphi 3 28.01.2008 23:03