Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 07.07.2017
Сообщений: 105
1
MS Access

Изменение набора данных ADOQuery без изменения подключенной к нему базы данных

01.10.2017, 02:23. Показов 2706. Ответов 3

Проблема следующая
Есть база данных, есть подключенный к ней ADOQuery, в котором ЧАСТЬ записей базы.
Я хочу поменять данные только в наборе данных, не меняя его в самой базе (в базе он тоже меняется перед этим, но через SQL отдельно).
Вызываю Edit, меняю, публикую через Post и получаю ошибку "не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения".
Если Post не вызывать, то при последующих манипуляциях с DBGrid (клик мышью на любую запись) приводит той же ошибке.
Наверняка есть возможность поменять данные только в НД, не отправляя их в БД. Справка подсказала, что с BDE это происходит после вызова ApplyUpdates, но я имею дело с ADO... Поэтому прошу вашей помощи
Delphi
1
2
3
4
5
6
// Вводим НД в режим редактирования
DataSet.Edit;
// Меняем его значение на новое
DataSet['Presence']:=InOut;
// Сохраняем НД
DataSet.Post;
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2017, 02:23
Ответы с готовыми решениями:

Базы данных: AdoTable vs AdoQuery
Насколько быстрее работает обработка данных таблицы через ADOQUERY. Есть смысл переделывать из...

ADODataSet: есть ли событие, реагирующее на изменение набора данных?
Добрый день! Подскажите пожалуйста, есть ли в ADODataSet событие, реагирующее на изменение набора...

Исправить ошибку, C# интерфейс подключенной базы данных
Нужно создать интерфейс моей базы из sql server, таблицы выводятся, запросы тоже, но...

Скопировать структуру базы данных в новую базу данных без самих данных
Здравствуйте! Подскажите пожалуйста, как более удобно скопировать всю базу данных в новую базу...

3
3955 / 3369 / 877
Регистрация: 29.08.2013
Сообщений: 22,015
Записей в блоге: 2
01.10.2017, 07:43 2
Цитата Сообщение от DIEsel_92 Посмотреть сообщение
Я хочу поменять данные только в наборе данных, не меняя его в самой базе
зачем?
0
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,788
01.10.2017, 08:11 3
Лучший ответ Сообщение было отмечено DIEsel_92 как решение

Решение

Цитата Сообщение от DIEsel_92 Посмотреть сообщение
публикую через Post
Метод отправляет изменения в базу данных и с этим придется смириться.
Чтобы изменения в наборе данных сохранять в памяти применяют компонент ClientDataSet.
Его, в том числе, можно использовать и как буфер памяти записей другого Датасета.
1
314 / 267 / 87
Регистрация: 27.05.2017
Сообщений: 1,350
01.10.2017, 15:22 4
Я не работал конкретно с Access, но во "взрослых" БД нельзя даже быть уверенным, что после выполнения запроса Query все запрошенные данные сразу же оказываются на стороне клиента.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2017, 15:22

Вывод в TextBox определенной информации, взятой из подключенной базы данных access
добрый вечер уважаемые обитатели форума. помогите доработать программу, а точнее разобраться с...

Изменения в источнике данных не отображаются в привязанном к нему ComboBox
Доброго времени суток. Прогаю по мере надобности, поэтому знаний мало. Возник такой вопрос. Есть...

Подсобите примерами - база данных без базы данных
Доброго времени суток! Есть следующая задача - курсовой по программированию с использованием баз...

Изменение данных в таблицах базы данных
Здравствуйте! Есть база данных. Сформированы ограничения целостности. База подключена к QT. За...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru