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

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

Удаление записи из БД Interbse. [D3, IB5.x]


alst ©   (2003-11-27 08:42:00) 

Пытаюсь написать процедуру возврата
курсора к месту удаленной записи.
Не уверен правильно ли выразился, но опишу подробнее.
Есть компонент Query, Хранимая процедура(удаляет запись),
DBGrid.
После удаления закрываю и открываю Query.
Курсор на первой записи - это меня не устраивает,
мне нужна ближайшая запись, где стоял курсор до удаления.
Пишу такой код(в понятном для Вас виде):

procedure Form1.RecDel;
var BM:TBookMark;
begin
DB.StartTransaction;
try
StoredProc.ParamByName("Id").AsInteger:=QueryId.Value;
StoredProc.ExecProc;
DB.Commit;
BM:=Query.GetBookmark;
Query.Close;
Query.Open;
if Query.BookmarkValid(BM) then Query.GotoBookmark(BM);
except
DB.Rollback;
end;
end;

Все равно на первой записи, закладка не помогает :-(
Может поможете!!!


Vemer   (2003-11-27 11:15:00) [1]

To [4]
Next стоит в вашем примере :).
В моем Prev.
В общем надо проверять EOF/BOF перед тем как куда-то вставать.


Anatoly Podgoretsky   (2003-11-27 10:38:00) [2]

Vemer © (27.11.03 10:03) [2]
если Query.EOF то встать на следующую нельзя! Возможно и на предыдущую тоже.


Johnmen   (2003-11-27 10:11:00) [3]

>Anatoly Podgoretsky © (27.11.03 08:46)

Он же её удалил...:)
Но рыть надо в этом направлении...


Vemer   (2003-11-27 10:03:00) [4]

А если Query.EOF то Query.Prev.


Anatoly Podgoretsky   (2003-11-27 08:46:00) [5]

Query.Next и запомнить ID, потом Locate на нее


Наверх

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