глюки с TSQLQuery.Append
Модератор: Модераторы
-
RusDeveloper
- новенький
- Сообщения: 92
- Зарегистрирован: 06.04.2016 11:02:43
глюки с TSQLQuery.Append
есть TSQLQuery, к нему через TDataSource привязаны TRxDBGrid и TDBEdit (для редактирования данных). еще есть меню TMainMenu, TToolBar, кнопка TButton (у последних трех при нажатии отрабатывает TSQLQuery.Append). Так вот когда щелкаю на кнопку TButton, а затем становлюсь на TDBEdit - все хорошо (Append отрабатывает, начинаю редактировать новую запись). А вот когда щелкаю по меню или по кнопке на TToolBar Append тоже отрабатывает, но при вводе крусора (становлении) на TDBEdit новая пустая строка из грида пропадает и начинается редактирование существующей записи, а не добавленной! Что это за глюк и что с ним делать? Или это какой-то общеизвестный глюк компонентов TMainMenu и TToolBar?
Пример сюда не хотите выложить?
-
RusDeveloper
- новенький
- Сообщения: 92
- Зарегистрирован: 06.04.2016 11:02:43
изложил суть вопроса в другой теме с примером. там еще не понятно, с чем проблема...
http://www.freepascal.ru/forum/viewtopic.php?f=5&t=11027#p97619
http://www.freepascal.ru/forum/viewtopic.php?f=5&t=11027#p97619
Append = Post ???
п.с.
Или я что то упустил и лыжи не едут
Добавлено спустя 4 минуты 20 секунд:
Вроде лыжи на месте и едут:
Тогда:

п.с.
Или я что то упустил и лыжи не едут
Добавлено спустя 4 минуты 20 секунд:
Вроде лыжи на месте и едут:
Существуют два метода, названные Append и Insert, который Вы можете использовать всякий раз, когда Вы хотите добавить новую запись в DataSet. Очевидно имеет больше смысла использовать Append для DataSets которые не индексированы, но Delphi не будет генерировать exception если Вы используете Append на индексированной таблице. Фактически, всегда можно использовать и Append, и Insert.
Тем не менее, даже если Вы не работаете со транзакциями, Вы можете все же отменить результаты вашего редактирования в любое время, до тех пор, пока не вызвали напрямую или косвенно метод Post. Например, если Вы перевели таблицу в режим редактирования, и изменили данные в одном или более полей, Вы можете всегда вернуть запись в исходное состояние вызовом метода Cancel.
Тогда:
очевидный ответЧто это за глюк и что с ним делать?
