Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

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

 
Max1   (2004-03-18 10:10) [0]

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

CursorLocation=clUseServer
CursorType=ctDynamic

и во всех компонентах ADOTable , ADOQuery на эти же параметры
CursorLocation=clUseServer
CursorType=ctDynamic

то при пошаговой отладке на строке
    ADOTable1.Properties["Update Resync"].Value:=adResyncAll;

получаю ошибку:

ADO не удается найти объект в семействе по указанной приложением ссылке на его имя или порядковый номер.


 
Max1   (2004-03-18 10:22) [1]

Мастера, откликнитесь, просидел вчера весь день, может что не правильно делаю?


 
stas ©   (2004-03-18 10:28) [2]

А ты в USES добавил ADOINT ?
Помоему при серверном курсоре
ADOTable1.Properties["Update Resync"].Value:=adResyncAll
писать не нужно.


 
sniknik ©   (2004-03-18 10:34) [3]

может поэтому (читайте хелп :)

Update Resync Property—Dynamic (ADO)
     
.......

Specifies whether the UpdateBatch method is followed by an
adResyncAll, adResyncUpdates, adResyncInserts, and adResyncConflicts
The constant adResyncConflicts stores the resync values as underlying values, but does not override pending changes.

Update Resync is a dynamic property appended to the Recordset object Properties collection when the CursorLocation property is set to adUseClient.


 
Max1   (2004-03-18 13:03) [4]

Сейчас переделал все с помощью ADODATAset, когда clUseServer и ctKeyset все нормально, но нужно чтобы изменения отображались сразу же поэтому когда уст-ю ctDynamic получаю ошибку

Dataset does not support Bookmarks, which are required for multi-record data controls.

Что посоветуете сделать?


 
stas ©   (2004-03-18 13:13) [5]

Курсор - ctKeySet.
А данные обновлять либо Close/Open, либо REQUERY. Для одной записи может Refresh поможет.


 
sniknik ©   (2004-03-18 13:36) [6]

для access хорошо работает
ADODATAset clUseServer и ctKeyset/ctStatic и CommandType = cmdTableDirect.
попробуй

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

> но нужно чтобы изменения отображались сразу
где? в той же программе, другой(2м экземпляре)? в другой сразу могу сказать не получится "сразу", данные еще через кеш ADO(вернее Jet) проходят, на него никак повлиять нельзя. (или не знаю как) т.е. задержка всегда будет, разговор можно вести только о ее уменьшении (за счет других "тормозов"). открой 2 экземпляра access-а на одной таблице поэксперементируй (хочеш лутше? не получится).


 
KSergey ©   (2004-03-18 13:41) [7]

Когда-то взял с форума:

Как обновить текущу запись, перечитав ее с сервера?

Вариант 1

with ADODataSet do
 if Recordset.Supports(adResync) then
 begin
   Recordset.Resync(adAffectCurrent, adResyncAllValues);
   Resync([rmExact, rmCenter]);
 end;
 
Вариант 2

>можно ли только одну строку обновить?
можно и нужно

ADODS.Properties["Unique Table"].Value    := "table";
ADODS.Properties["Resync Command"].Value  := "select * from table where ID = ?";
ADODS.Properties["Update Resync"].Value   := adResyncAll;

ADODS.UpdateCursorPos;
ADODS.Recordset.Resync(adAffectCurrent,adResyncAllValues);
ADODS.Resync([rmExact]);


 
stas ©   (2004-03-18 14:15) [8]

KSergey ©   (18.03.04 13:41) [7]
А как же
sniknik ©   (18.03.04 10:34) [3] ???


 
sniknik ©   (2004-03-18 14:19) [9]

stas ©   (18.03.04 14:15) [8]
так это наверняка для локального курсора.



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

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.031 c
4-1076693612
DelphiN!
2004-02-13 20:33
2004.04.18
Работа с реестром


6-1076661575
bykopor
2004-02-13 11:39
2004.04.18
INDY, компонент TCP/IP


8-1073153451
SaM[87]
2004-01-03 21:10
2004.04.18
24-х битное изображение


8-1073010809
Saimon
2004-01-02 05:33
2004.04.18
Прозрачность формы в Win9x.


4-1076643766
Aleksey
2004-02-13 06:42
2004.04.18
ctrl+c, ctrl+v





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский