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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2015, 01:52   #1
иванлеон
Пользователь
 
Регистрация: 04.01.2012
Сообщений: 31
По умолчанию Как узнать сохранены ли данные в таблице

Давно интересовал вопрос, как узнать сохранены ли данные в редактируемой таблице или нет.
То есть закончена текущая транзакция или нет?
Например, пользователь вводил данные в БД через DBGrid и пред выходом не сохранил данные нажатием кнопки на навигаторе или переходом на другую строку. Программа закрыта, данные не сохранились и утеряны.
иванлеон вне форума Ответить с цитированием
Старый 02.06.2015, 03:13   #2
иванлеон
Пользователь
 
Регистрация: 04.01.2012
Сообщений: 31
По умолчанию

Решил эту проблему так.

Код:
procedure TDataModule3.tbl6BeforeInsert(DataSet: TDataSet);
begin
mod_ok:=false;
end;

procedure TDataModule3.tbl6AfterPost(DataSet: TDataSet);
begin
mod_ok:=true;
end;

procedure TDataModule3.tbl6BeforeEdit(DataSet: TDataSet);
begin
mod_ok:=false;
end;

procedure TDataModule3.tbl6AfterRefresh(DataSet: TDataSet);
begin
mod_ok:=true;

end;

procedure TDataModule3.tbl6AfterCancel(DataSet: TDataSet);
begin
mod_ok:=true;
end;
Интересно, есть другой способ?

Последний раз редактировалось иванлеон; 02.06.2015 в 03:27.
иванлеон вне форума Ответить с цитированием
Старый 02.06.2015, 09:48   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

F1 (изучайте справку)
TDataSet Properties ....

Цитата:
TDataSetState indicates the current operating mode of a dataset component.
Цитата:
Description

TDataSetState represents the values that may be in the State property of a dataset component. TDataSetState indicates the current operating mode of that dataset component. The following table lists all possible values in the TDataSetState type and describes what they indicate in the State property:

Value Meaning

dsInactive Dataset is closed, so its data is unavailable.
dsBrowse Data can be viewed, but not changed. This is the default state of an open dataset.
dsEdit Active record can be modified.
dsInsert The active record is a newly inserted buffer that has not been posted. This record can be modified and then either posted or discarded.
dsSetKey TTable and TClientDataSet only. Record searching is enabled, or a SetRange operation is under way. A restricted set of data can be viewed, and no data can be edited or inserted.

dsCalcFields An OnCalcFields event is in progress. Noncalculated fields cannot be edited, and new records cannot be inserted.
dsFilter An OnFilterRecord event is in progress. A restricted set of data can be viewed. No data can edited or inserted.
dsNewValue Temporary state used internally when a field component’s NewValue property is accessed.
dsOldValue Temporary state used internally when a field component’s OldValue property is accessed.
dsCurValue Temporary state used internally when a field component’s CurValue property is accessed.

dsBlockRead Data-aware controls are not updated and events are not triggered when moving to the next record.
dsInternalCalc Temporary state used internally when values need to be calculated for a field that has a FieldKind of fkInternalCalc.
dsOpening DataSet is in the process of opening but has not finished. This state occurs when the dataset is opened for asynchronous fetching.
P.S. есть и другие свойства (property) отвечающие на твой вопрос.
P.P.S. Для НЕчитающих ангоязычную справку
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.06.2015 в 09:59.
evg_m вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как редактировать данные в таблице созданной запросом? majjestik C++ Builder 0 05.06.2013 21:55
Как изменить данные в таблице созданной запросом? majjestik C++ Builder 0 04.06.2013 20:52
как узнать последнюю строку и последний столбец в xls таблице? Аццкий прогер Общие вопросы Delphi 7 06.12.2010 12:58
Из делфи узнать есть ли данные в таблице SQL server_а. S_Yevgeniy БД в Delphi 4 04.12.2009 21:10
Как узнать какие поля поменялись в таблице D-mon БД в Delphi 0 03.08.2007 11:53