Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

При сохранении созданой записи она исчезает [D7, Access]


Страницы:   1 2

AlexeyK ©   (2008-08-20 13:50:00) 

Доброго времени суток!

Есть таблица с 60 полями, работаю через ADO.
Во избежании ошибки "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени последнего чтения" при событии FormShow использую
...TelTable.Properties['Update Resync'].Value:=adResyncAll;

Проблема вот в чем:
после сохранения созданой записи, она исчезает с набора данных и ее не видно в DBGrid'e.
Но реально в базе она сохраняется и после закрытия/открытия проги все данные видно.

В чем может быть причина?

Зараннее всем спасибо за советы

Да, и еще один нюанс: в БД Access была использавана функция реплики, могло ли это быть причиной?


Anatoly Podgoretsky   (2008-08-21 22:20:00) [1]

Кроме того, я говорю о конструкции CursorLocation: = clServer, а не об Акцессе. Вопрос повторить?


Anatoly Podgoretsky   (2008-08-21 22:18:00) [2]

Это у тебя ко мне почему то претензии, то у тебя Акцесс сервер, то нет.


stas   (2008-08-21 19:34:00) [3]

Anatoly Podgoretsky ©   (21.08.08 19:10) [34]
У тебя ко мне претензии.
А топикстартер сделал как я сказал у него все заработало и он забыл уже об этом вопросе.


Anatoly Podgoretsky   (2008-08-21 19:10:00) [4]

> stas  (21.08.2008 16:13:33)  [33]

Ищи, иначе не понятны претензии.


stas   (2008-08-21 16:13:00) [5]

а где в stas ©   (21.08.08 10:02) [31] я написал что сервера нет?


Anatoly Podgoretsky   (2008-08-21 15:40:00) [6]

> stas  (21.08.2008 10:02:31)  [31]

Как ты создашь серверный курсор без сервера?


stas   (2008-08-21 10:02:00) [7]

Anatoly Podgoretsky ©   (20.08.08 17:41) [25]
Так как на каждой машине свой сервер и серверный курсор создается на сервере каждой машины, то сервер установкой серверного курсора на колени поставить неполучится.


sniknik   (2008-08-21 08:27:00) [8]

> Во избежании ошибки "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени последнего чтения"
> при событии FormShow использую
> ...TelTable.Properties['Update Resync'].Value:=adResyncAll;
логичнее было бы использовать ключ, и обновление по нему... а это "немного" не то, не для этого.


Sergey13   (2008-08-21 08:23:00) [9]

> [24] MsGuns ©   (20.08.08 17:38)
> Глупости. На то он и сервер, чтобы "нагружать" его.

Ключевым в моем посте было не "нагружать", а "пустой работой".

> Кроме того, только переоткрытие гарантирует получение АКТУАЛЬНОГО
> состояния БД
И сколько времени продолжается после открытия состояние актуальности?


Anatoly Podgoretsky   (2008-08-20 19:22:00) [10]

> stas  (20.08.2008 17:46:26)  [26]

Кто то недавно обижался, мол какой сервер если его нет.


AlexeyK   (2008-08-20 18:55:00) [11]

Думаю вопрос закрыт.
Всем большое спасибо!


stas   (2008-08-20 17:46:00) [12]

Anatoly Podgoretsky ©   (20.08.08 17:41) [25]
Курсор создается на сервере т.е. в этом случае само ядро JET за ним следит, но для каждой машины это свое ядро и свой серверный курсор.


Anatoly Podgoretsky   (2008-08-20 17:41:00) [13]


> Каким образом если это акцесс?

В таком случае о каком CursorLocation: = clServer может идти речь?


MsGuns   (2008-08-20 17:38:00) [14]

>Sergey13 ©   (20.08.08 16:17) [11]
>Просто я их люблю и берегу, как и сеть. И стараюсь не нагружать пустой работой.

Глупости. На то он и сервер, чтобы "нагружать" его.
Кроме того, только переоткрытие гарантирует получение АКТУАЛЬНОГО состояния БД, включая изменения, внесенные другими пользователями.
А чтобы не провисала сетка, не надо гнать на клиент стотыщмильонов записей, тем более, что клиенту этому такие горы невозможно усмотреть физически.


MsGuns   (2008-08-20 17:27:00) [15]

>но возможно есть ли какие-то другие решения с использованием курсора clUseClient?

Каким боком РЕШЕНИЕ зависит от курсора для акцеса ?
Почитайте что ли справку о кусоре в TADOConnection - тогда, возможно, исчезнут идиотские вопросы


stas   (2008-08-20 17:15:00) [16]

ну, так вот не сохранять в том же датасете.
через AdoCommand запрос на INSERT или UPDATE.
об это msgunsв начале писал.


AlexeyK   (2008-08-20 17:12:00) [17]

stas ©   (20.08.08 17:05) [19]
да, том же датасете, но сохранял через DBNavigator


AlexeyK   (2008-08-20 17:07:00) [18]

Проблему решил по совету stas'a, использовав ADOQuery.
Спасибо stas!

но возможно есть ли какие-то другие решения с использованием курсора clUseClient?


stas   (2008-08-20 17:05:00) [19]

AlexeyK ©   (20.08.08 17:03) [18]
ну, а ты как сохранил, в том же датасете(который к сетке подключен)  сделал POST?


AlexeyK   (2008-08-20 17:03:00) [20]


> Ну и зачем тогда вообще вопрос, какая разница если сетки нет.


Дело в том что к записи доступа нет после сохранения, сохранил - а ее нет!
а сетка просто для просмотра!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо