![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.02.2011
Сообщений: 6
|
![]()
Наверное эта тема уже обсуждалась, дайте, пожалуйста, ссылку на решение этой проблемы.
У меня следующая конструкция: ClientDataSet+DataSource+DBGrid, при переходе в DBGrid с одной записи на другую происходит сохранение (по-видимому) в буфер ClientDataSet, после чего, если форму закрыть без сохранения (не нажимая кнопку), то изменения на форме остаются. Как сделать так, чтобы этот буфер очищался или еще что-нибудь лишь бы изменения принимались по нажатию кнопки, а не в результате перемещения между записями. И еще, когда я пытаюсь выполнить при нажатии на кнопку сохранения: Код:
Прошу прощения, если вопрос слишком глупый ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Код:
Есть вариант использования SaveToFile и LoadFromFile, но тогда без базы данных и ApplyUpdates. ClientDataSet.Edit на DBGrid не надо делать.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.02.2011 в 21:11. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 21.02.2011
Сообщений: 6
|
![]()
Огромное спасибо! То что нужно.
Код:
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
ClientDataSet.SavePoint:=0; -- ??? Не понял зачем левую константу присваивать?
SavePoint это некая точка состояния информации, значение которой меняется после каждой команды редактирования. Присвоение ей ранее сохраненных значений очень напоминает откат SQL-транзакции, даже не представляю к чему может привести присваивание произвольных констант. не очень уверен, но 0 скорее всего отменит все модификации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 21.02.2011
Сообщений: 6
|
![]()
Да, согласен. Это глупость.
Я хотел, чтобы состояние после сохранения зафиксировалось и откат происходил уже на эту точку. Наверное правильнее после сохранения еще раз присваивать этой точке значение? Код:
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 21.02.2011
Сообщений: 6
|
![]()
Правда и без этой строчки вроде все работает.
Не очень правда понятно почему В любом случае большое спасибо. Я уже хотел расставаться с DBGrid из-за этих автосохранений ![]() |
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 21.02.2011
Сообщений: 6
|
![]()
Еще один вопрос по этой же базе данных.
Как сбросить счетчик в xml. Там есть вот такой тег: Код:
Код:
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 21.02.2011
Сообщений: 6
|
![]()
На этом форуме нашел обсуждение нескольких аналогичных ситуаций, когда значение счетчика не сбрасывалось при удалении записи. Советуют в свойствах поля сделать его автоинкрементным... Но оно у меня и так автоинкрементное!
Помогите, пожалуйста! Должно быть какое-то стандартное решение этой проблемы ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранение таблицы из dbgrid в файл (oracle, delphi) | blr_spy | БД в Delphi | 8 | 26.07.2010 13:59 |
DBGrid. ReadOnly. Сохранение изменений | cnst_bus | БД в Delphi | 3 | 18.01.2010 13:40 |
сохранение изменений в DBGrid/DBGridEh, при изменении фокуса ячейки | dalien | БД в Delphi | 6 | 30.07.2009 15:36 |
перенос данных из DBGrid в DBGrid | KingSize | БД в Delphi | 17 | 24.04.2009 09:30 |
Сохранение нескольких записей из DbGrid в базу | Canadec | БД в Delphi | 5 | 06.09.2007 14:26 |