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

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

Как узнать что текущую запись нельзя редактировать


Silver_ ©   (2003-05-15 15:11:00) 

Ошибка: Row cannot be located for updating...
ругается в следующем случае:

1. Добавляю запись

2. происходит (в DBGrid-e, путем перехода на предыдущую запись (но это не существенно)) ADODataSet.Post

3.Возвращаюсь на только что добавленную запись и пробую редактировать при попытке повторить п.2 получаю ошибка.

ЗНАЮв данном случае ADODataSet.Refresh;спасает. тока вот интересно не делать же его после каждого ADODataSet.Post;(в принципе это наверное не так уж и страшно но... все-таки). Может лучше в
ADODataSet.BeforeEdit...только вот

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


Silver_   (2003-05-15 18:18:00) [1]


> Niki (15.05.03 16:38)
> A DataSetProvider используется?


Нет!
Кстати если не трудно для чего(что дает его использование) DataSetProvider.


Niki   (2003-05-15 16:38:00) [2]

A DataSetProvider используется?


Silver_   (2003-05-15 16:23:00) [3]

что-ж спасибо будем тыкать, метод тыка никто не отменял :о)


Stas   (2003-05-15 16:19:00) [4]

Точно не скажу, но ctKeySet находит твою запись если набор данных был обнавлен или еще что нибудь, типа следит за твоей записью. Если не заработает, то попробуй еще Вот так: AdoDataSet.CursorLocation:=clServer;


Silver_   (2003-05-15 16:14:00) [5]


> Stas © (15.05.03 16:03)
> AdoDataSet.CursorType:=ctKeyset

не мог бы ты сказать чем ctKeyset отличается от ctStatic (-по умолчанию, у меня так)


Silver_   (2003-05-15 16:11:00) [6]


> Polevi © (15.05.03 15:45)
> ключевое поле есть у таблицы ?


Есть!

забыл сказать в ADODataSet.AfterPost подправляется текущая запись если юзверь что-то не заполнил ставится значение по умолчанию (через SQL что видимо и служит питательной средой для появления данной ошибки). Ну да ладно сделал я ADODataSet.Refresh;и все работает.
Но тем не менее хотел бы знать
как узнаватьть что у текущей записи есть проблемы такого рода (нельзя редактировать)


Stas   (2003-05-15 16:03:00) [7]

AdoDataSet.CursorType:=ctKeyset


Polevi   (2003-05-15 15:45:00) [8]

ключевое поле есть у таблицы ?


Наверх

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