Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
2 / 2 / 0
Регистрация: 27.07.2011
Сообщений: 12
1

ADO Обновление набора данных

13.02.2012, 21:32. Показов 2638. Ответов 4
Метки нет (Все метки)

Создаю ADOConnection с серверным курсором и набор данных с динамическим серверным курсором. Размещаю на форме 2 кнопки. 1я выводит значение одного из полей текущей записи, другая выполняет команду, изменяющую текущую запись набора данных.
Сначала вывожу, затем меняю. Смотрю в Management Studio - значение сменилось. Вывожу снова - то же самое. Как сделать, чтобы данные обновлялись?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2012, 21:32
Ответы с готовыми решениями:

Обновление набора данных
Как сделать обновление набора данных?

Каскадное обновление access - Ado - Delphi
Кто подскажет в чем проблема ? Исправьте заодно ! Как сделать что бы при выборе пользователя из...

Изменение набора данных ADOQuery без изменения подключенной к нему базы данных
Проблема следующая Есть база данных, есть подключенный к ней ADOQuery, в котором ЧАСТЬ записей...

Обновление данных в таблице, ADO
Доброго времени суток. Такая конструкция работает: DoCmd.RunSQL "UPDATE...

4
Модератор
3916 / 2894 / 555
Регистрация: 21.01.2011
Сообщений: 12,545
14.02.2012, 09:28 2
Из твоего описания непонятно, что и как ты делаешь. Если используешь Query, то переоткрываешь ли запрос после обновления записи?
0
2 / 2 / 0
Регистрация: 27.07.2011
Сообщений: 12
14.02.2012, 09:39  [ТС] 3
Использую датасет. Обновляю ADOCommand.execute, просматриваю ShowMessage(ADODataSet1.FieldValues['Field']). Датасет не обновляю, т.к. использую динамический курсор. Судя по тому, что написано в книгах, он отображает все изменения.
А если у нас несколько пользователей у бд, как сделать чтобы они видели изменения друг друга? Сразу, а не ADODataSet.Open
0
1459 / 1210 / 236
Регистрация: 04.04.2011
Сообщений: 4,242
14.02.2012, 14:13 4
Delphi
1
Судя по тому, что написано в книгах, он отображает все изменения.
Вы читаете какие-то неправильные книги

Delphi
1
А если у нас несколько пользователей у бд, как сделать чтобы они видели изменения друг друга? Сразу, а не ADODataSet.Open
Никак. А главное, а зачем ? Если в базе 1000 таблиц и 1000 юзеров ежесекундно их изменяют, то если бы сервер занимался тем, что оповещал бы "автоматически" КАЖДОГО пользователя о КАЖДОМ изменении в КАЖДОЙ таблице, то сеть была бы забита только этими сообщениями, а основные (т.е. извлекающие НУЖНЫЕ данные для НУЖНОГО пользователя) нервно ожидали в сенях.
Да и на клиенте ПК только б и занимался тем, что получал извещения об изменениях и перерисовывал грид по 100 раз в секунду.

Вообще-то механизм оповещения нужных клиентов о нужных событиях во многих скл-серверах есть, но работает вовсе не так тупо, как БДЕ, рефрешируя каждую секунду. При этом надо учесть, что БДЕ ЗНАЕТ КАКАЯ ТАБЛИЦА просматиривается в текущий момент и соотв-но обновляет только ее отображение. Скл-сервер не знает этого (он вообще знает не только то, что происходит на клиенте, но и вообще ничего о клиенте. В его фукнкции это не входит.

Серверный курсор на сервере сделан немного для другого, о чем вполне вменяемо написано в справке. К тому же опять-таки это не сервер обновляет клиентский керсор, а сам клиент, повторно извлекая определенный диапазон записей с сервера. Т.е. сам компонент TCustomADODataSet. Читайте справку о его методах, свойствах и событиях
0
2 / 2 / 0
Регистрация: 27.07.2011
Сообщений: 12
14.02.2012, 14:23  [ТС] 5
В той книге по Delphi, которую я читал (Глушаков, Клевцов), написано про ctDynamic: "Данные, измененные другими пользователями, обновляются в таком курсоре автоматически". То же самое написано
http://www.sql.ru/articles/mss... 3ADO.shtml
http://delphiworld.narod.ru/ba... n_ado.html
Если это невозможно, то в чем тогда преимущество динамического курсора перед статическим и кейсетом.
А справка у меня почему-то вообще не отображается, поэтому ищу в инете и в книгах
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2012, 14:23

Обновление данных из Oracle для набора полей
Есть такая задачка: Из большой базы товаров в Oracle выбрано несколько десятков артикулов. Для них...

Обновление набора данных (два клиента, одна база)
Помогите разобраться может кто поможет. Есть база fdb, к ней написаны 2-а клиента на делфях. Первый...

Обновление ADO recordsets
к рекордсету привязанна datagrid хочу меняя sql запрос получать измененные данные? как этого...

Обновление таблицы (ADO и Access)
Всем привет!!! Подскажите как правильно обновить таблица после выполнения запроса (после апдейта...


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

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

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