Вниз
Скачать: CL | DM;

Не корректная работа BookMark-ов на ClientDataSet-е   Найти похожие ветки 

← →
Азазелло   (2002-09-27 09:33) [0]

Всем доброго времени суток!
D5 + ADO + MSSQL2000

Использую связку TADODataSet->TDataProvider->TCLientDataSet. После постинга записи в ClientDataSet мне необходимо получить идентификатор записи, который объявлен как Identity на сервере. Методу Resync - у ClientDataSet-а не работает : ( Refresh же, соответственно, переоткрывает датасет и я теряю добавленную позицию, поскольку у меня стоит сортировка. Пытался использовать BookMark-и так :
With cds_DataSet Do
Begin
Try
Post;
ApplyUpdates(-1);
Except
<ругаюсь и сваливаю>
End;
BookMark:=GetBookMark;
Refresh;
GoToBookMark(BookMark);
FreeBookMark(BookMark);
End;

Но букмарки почему-то срабатывают из 8 раз раза 3-4. В дальнейшем позиционируются не пойми куда.

Кто подскажет, как мне получить идентификатор добавленной записи.. желательно не прибегая к использованию хранимой процедуры с возвратом Ident_Current. Вообще-то хочется получать идентификатор без использования серверной части и оставаться на той же записи, что была добавлена.

С уважением, Игорь.


← →
Johnmen ©   (2002-09-27 09:53) [1]

1. То, что букмарк так себя ведет - совершенно законно и объяснимо...
2. Если есть еще одно уникальное поле кроме ID, то можно использовать это обстоятельство...


← →
Азазелло   (2002-09-27 16:52) [2]

В том-то и дело, что его нет..



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-68841
Denis O.
2002-10-10 13:08
2002.10.21
Окно поверх всех


4-69080
Aquaform
2002-09-08 16:29
2002.10.21
Hе могу найти ошибку


14-69005
Shadow
2002-09-26 16:01
2002.10.21
А правда, что программисты вспыльчивые люди?


4-69070
Same_Genetik
2002-09-06 15:55
2002.10.21
Как получить имя текущего пользователя в Win2000 ?


1-68786
AndreyS
2002-10-07 18:40
2002.10.21
16-ричная запись




   Наверх