![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет!
Всё воюю с указатель в DataSet'е. Нужно чтоб после изменения он оставался на выбранной записи в DBGrid'е, но в текущем примере он почему-то после выполнения процедуры перемещается на самую последнюю запись в таблице. В чём проблема? Код:
procedure TEdit_Office.add_officeClick(Sender: TObject); var curs: integer; begin try with DataModule1.IBQuery2 do begin SQL.Text:='UPDATE office SET o_name = :o_name WHERE o_id = :o_id'; ParamByName ('o_name').AsString:=Edit1.Text; ParamByName ('o_id').Value := DataModule1.office.FieldByName('o_id').AsString; DataModule1.DataSource1.DataSet.RecNo:= curs; curs:= DataModule1.office.FieldByName('o_id').AsInteger; Transaction.StartTransaction; ExecSQL; Transaction.Commit; Transaction.Active:=false; end; DataModule1.OFFICE.Close; DataModule1.OFFICE.Open; DataModule1.DataSource1.DataSet.Locate('o_id', IntToStr (curs), []); except on E: Exception do begin if DataModule1.IBQuery2.Active then DataModule1.IBQuery2.Transaction.Rollback; Application.MessageBox(PChar(E.Message), 'Îøèáêà', MB_ICONERROR); end; end; Edit_Office.close; end; |
#2
|
||||
|
||||
![]() Цитата:
Да и дальше у тебя какая-то путаница - сохраняешь в curs значение из "DataModule1.office", а восстанавливаешь из "DataModule1.DataSource1.DataSet". Если это одно и то же может лучше прийти к одному варианту, чтобы самому же потом и не путаться? |
#3
|
|||
|
|||
![]() Цитата:
Да вот именно, что я тут уже намудрил... Может пример покажешь? |
#4
|
||||
|
||||
![]() Цитата:
Ну а о замене "DataModule1.office" на "DataModule1.DataSource1.DataSet" (или наоборот) это только в том случае если это у тебя действительно одно и то же, да и то необязательно - только для большей понятности кода. |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
sAVe (08.12.2013)
|
#5
|
|||
|
|||
![]() Цитата:
Спасибо, разобрался! |