![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление записи из БД 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 на нее