Страница 1 из 1

Как ПРАВИЛЬНО ловить курсор в табл. после передер. сервера?

Добавлено: 04 июл 2006, 13:20
Марина
Всем привет! :D
Проблема такая. Я использую компоненты IBQuery, IBUpdateSQL, DataSource. Узменения в таблице произошли, транзакция подтвердилась, сервер передернули с клиента. У меня пользователь сидит в табличке или во вьюшке скажем где-то в середине - редактирует запись, т.е. впереди 100 записей, он редактирует 101-ю и сзади тоже 100 записей (всего в таблице 200 записей). Пока он ее редактировал, другой пользователь удалил его запись и еще 70 записей вперед. Т.е. теперь курсор надо поставить на 30-ю запись! Вопрос в том как ПРАВИЛЬНО это сделать! Помогите пожалуйста! )))

Добавлено: 04 июл 2006, 13:32
WildSery
Вам бы продолжать начатую вами же тему с таким же названием.

Добавлено: 04 июл 2006, 13:39
CyberMax
Никак это нельзя сделать. После переоткрытия наборе "нумерация" записей теряется.
P.S. Марина, пишите в соответствующую тему (http://forum.ibase.ru/phpBB2/viewtopic.php?t=2388), которую сами и создали. Если текущие ответы вас не удовлетворяют, пишите в ней. Эту я через некоторое время удалю. Дубли здесь ни к чему.

Добавлено: 04 июл 2006, 14:04
vanek_t
Попробуйте через закладки!

т.е есть тип TBookMark;

тогда в вашем случае

Код: Выделить всё

var
  CurRecord : TBookMark;
begin
  try
     CurRecord := DataSource.Datase.GetBookMark;
     DataSource.Dataset.Close;
     DataSource.Dataset.Open;
     Datasource.Dataset.GotoBookMark(CurRecord);
  finally
     Datasource.Dataset.FreeBookMark(CurRecord);
  end;
end;
[модератор: учимся использовать тэг code в сообщениях]

Re: Как ПРАВИЛЬНО ловить курсор в табл. после передер. серве

Добавлено: 04 июл 2006, 14:09
CyberMax
Вот чем плохо обсуждение в нескольких темах.

2vanek_t.
Марина писал(а):Пока он ее редактировал, другой пользователь удалил его запись и еще 70 записей вперед.
Запись уже удалена. Как следствие, закладка недействительна.

Добавлено: 04 июл 2006, 15:08
kdv
Т.е. теперь курсор надо поставить на 30-ю запись!
не существует никаких "30-ых" записей. Пора привыкнуть, что в SQL производятся операциями над множествами, где нет понятия "первый, последний" и т.п. 30-ая она может быть разве что по порядку выборки с сервера.