|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.08.2011, 14:25 | #1 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 157
|
DBGrid и обновление данных в БД
Здравствуйте, у меня есть БД Access, подключено все через ADOTAble.
На форме1 у меня происходит добавление данных в БД через кнопку "обновить", на ней же можно и отредактировать эти данные. И эти же данные появляются в DBgrid, где заполняюся данные по этим записям, только другие поля. Запись через DBgride у меня стоит такая: Код:
Не могу понять, что ему не нравится.... Подскажите, пожалуйста, замучала эта ошибка уже)) |
02.08.2011, 18:02 | #2 |
Пользователь
Регистрация: 06.12.2007
Сообщений: 87
|
Потому что ты меняешь одну запись не сохраняя ее(+ не обновляя ДатаСет в твоем случае «ADOTable13») пытаешься сохранить другую, но ДатаСет отлично знает что у него уже неактуальные данные поэтому и не сохраняет новую строку!(Как смог объяснил учитель из меня плохой).
Варианты решений: 1. Прежде чем добавлять другие данные сохраняй предыдущие, проверяй состояние ДатаСета if ADOTable13.State = dsEdit then и постиш запись которую изменила или делаешь что душе угодно. 2. Второй вариант получше у своего ДатаСета(ADOTable13) в свойстве LockType ставиш ltBatchOptimistic. Потом работаешь скока угодно со своим ДатаСетом, а когда надо все сохранить пишешь ADOTable13.UpdateBatch(); |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DBGrid запись и обновление | a_n_n_a | БД в Delphi | 0 | 09.04.2011 06:03 |
Обновление данных в DBGrid и фокус строки. | Serval | БД в Delphi | 10 | 05.06.2009 11:50 |
Обновление списка данных без потери данных в переменных | VaBank | БД в Delphi | 13 | 03.06.2009 10:47 |
перенос данных из DBGrid в DBGrid | KingSize | БД в Delphi | 17 | 24.04.2009 09:30 |
Обновление DBGrid + ADOQuery | Demonk | БД в Delphi | 11 | 04.02.2009 13:42 |