Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Вниз

adoQuery   Найти похожие ветки 

 
sten   (2004-08-20 09:04) [0]

Привет,

такая ситуация: есть adoquery, который закачивает данные из таблицы
(select * from ...), которые потом просматриваются в DBEdit c помощью
dbNavigator.
Теперь, при работе в сети нескольких машин, когда одна из них update"ит
запись, это изменение не отражается в других adoquery, т.к. для этого
надо снова производить полную выборку информации для них.
Как же здесь правильно делать, может есть какой-нибудь способ заставить
adoquery быть в курсе изменений, например может курсоры использовать ?


 
Ega23 ©   (2004-08-20 09:37) [1]

Это порочный путь. И потом: откуда ты знаешь, что пользователю будет удобнее, если у него вдруг самопроизвольно начинает переоткрываться запрос?

например может курсоры использовать ?
А что ты этим имел ввиду?  :о)


 
sten   (2004-08-20 09:55) [2]

ну в запросе использовать не select * from ..., а создать курсор и им перемещаться по записям (есть курсоры автоматически отслеживающие изменения в базе).
Как-же все-таки делать, обрабатывать ошибку, что запись уже изменена другим пользователем что-ли, так это юзерам неудобно, , они-то видят данные действительные на момент последнего открытия adoquery


 
Ega23 ©   (2004-08-20 10:10) [3]

а создать курсор и им перемещаться по записям (есть курсоры автоматически отслеживающие изменения в базе).

Нука-нука, с этого места по-подробнее. А лучше - ссылку на Books On-Line.

Как-же все-таки делать, обрабатывать ошибку, что запись уже изменена другим пользователем что-ли, так это юзерам неудобно, , они-то видят данные действительные на момент последнего открытия adoquery

Блокировать открытую запись для изменения.


 
sten   (2004-08-20 10:40) [4]

Transact-SQL Extended Syntax

DECLARE cursor_name CURSOR
[ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]

......

DYNAMIC

Defines a cursor that reflects all data changes made to the rows in its result set as you scroll around the cursor. The data values, order, and membership of the rows can change on each fetch. The ABSOLUTE fetch option is not supported with dynamic cursors.

Запись-то можно блокировать, только я имел ввиду не то, вот положим, загрузили результат работы
ADOQuery в dbGrid, можно править все что хочешь, но как теперь быть, если другой пользователь
уже отредактировал какую-нибудь строчку, как я об этом узнаю, ведь у меня в adoquery остались
старые данные


 
Nikolay M. ©   (2004-08-20 10:43) [5]

Изыди сатана! Иногда задаюсь вопросом: вот почему у некоторых программистов возникают задачи типа "видеть изменения, сделанные другими пользователями, пусть юзеров будет хоть миллион", но не возникает задачи "избавиться от закачки в DBGrid 100 000 записей"? Хотя у большинства программистов приоритеты задач обратно противоположные...


 
sten   (2004-08-20 10:46) [6]

ну так если им надо всем эти данные видеть, что я могу поделать, если есть другие варианты - так подскажите


 
Ega23 ©   (2004-08-20 10:53) [7]

Nikolay M. ©   (20.08.04 10:43) [5]

:-))))))))))))

КЛАСС, Коля! Прям в точку!


 
Nikolay M. ©   (2004-08-20 11:48) [8]


> sten   (20.08.04 10:46) [6]
> ну так если им надо всем эти данные видеть

Не надо им этого видеть. Сначала поверь в это сам, а потому убеди ближнего. Алилуйя!


> Ega23

:))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.033 c
14-1093794187
ПЛОВ
2004-08-29 19:43
2004.09.19
:)


4-1091453480
Sur
2004-08-02 17:31
2004.09.19
ОЗУ


6-1089720525
ctranik
2004-07-13 16:08
2004.09.19
Как заставить IdHTTP запускатся автоматически


14-1093695612
able
2004-08-28 16:20
2004.09.19
Что Вы думаете про траффик инспектор?


1-1094479078
pavelgr
2004-09-06 17:57
2004.09.19
убрать выделение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский