2)Редактирование.
Редактирование записей заключается в изменении значений полей. Редактируется текущая запись, поэтому перед действиями, связанными с редактированием, обычно выполняется операция по поиску и перемещению на требуемую запись. Например для редактирования вопросов выбранного теста использовался следующий код:
procedure TForm3.BitBtn1Click(Sender: TObject);
var n:integer;str33:string;
begin
str33:='';
if (edit4.text<>'') and (edit5.text<>'') and (edit6.text<>'') and (edit7.text<>'') and (edit8.text<>'') and ((checkbox1.Checked=true) or (checkbox2.Checked=true) or (checkbox3.Checked=true) or (checkbox4.Checked=true)) then
begin
datamodule2.IBStoredProc3.StoredProcName:='PROC_TEST2_EDIT';
datamodule2.IBStoredProc3.Prepare;
datamodule2.IBQuery3.Locate('T_NOMER_VOPR',strtoint(label5.Caption),[]);
n:=datamodule2.IBQuery3.fieldbyname('ID_TEST').AsInteger;
datamodule2.IBStoredProc3.ParamByName('param').AsInteger:=n;
datamodule2.IBStoredProc3.ParamByName('otv1').AsString:=edit5.Text;
datamodule2.IBStoredProc3.ParamByName('otv2').AsString:=edit6.Text;
datamodule2.IBStoredProc3.ParamByName('otv3').AsString:=edit7.Text;
datamodule2.IBStoredProc3.ParamByName('otv4').AsString:=edit8.Text;
datamodule2.IBStoredProc3.ParamByName('vopr').AsString:=edit4.Text;
if checkbox1.Checked=true then str33:=str33+'&1';
if checkbox2.Checked=true then str33:=str33+'&2';
if checkbox3.Checked=true then str33:=str33+'&3';
if checkbox4.Checked=true then str33:=str33+'&4';
datamodule2.IBStoredProc3.ParamByName('pr_otv').AsString:=str33;
datamodule2.IBStoredProc3.ExecProc;
DataModule2.IBTransaction1.CommitRetaining;
datamodule2.IBQuery3.Filtered:=false;
datamodule2.IBQuery3.Close; datamodule2.IBQuery3.Open;
datamodule2.IBQuery3.Filtered:=true; end; end;