Вниз
Скачать: 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
14-69013
Эрик
2002-09-26 14:51
2002.10.21
У кого есть Delphi servise pack 2?


1-68736
Zioma
2002-10-10 10:28
2002.10.21
MDI форма, как модальная...


1-68739
zam2000
2002-10-11 10:20
2002.10.21
Кто работал с Clipboard через API? Как туда положить CF_OEMTEXT


3-68681
SunnyTm
2002-09-30 22:33
2002.10.21
Как поймать исключение по несоответствию маске в EditMask?


6-68885
XPatriot
2002-08-17 20:31
2002.10.21
Работа с почтовым сервером




   Наверх