Как пользоваться транзакциями в Interbase\Firebird для записи данных? (Delphi) Стоит щас Read commited
if combobox1.Text<>'' then begin
ibtransaction1.StartTransaction;
form1.n1.visible:=true;
list:=tstringlist.Create;
datamodule1.ibdatabase1.GetTableNames(list);
if list.indexof(combobox1.text)=-1 then
begin
ibtable1.active:=false;
ibTable1.Database:=datamodule1.ibdatabase1;
ibtable1.close;
ibtable1.TableName:=combobox1.Text;
ibtable1.FieldDefs.clear;
ibtable1.FieldDefs.add('id',ftinteger);
ibtable1.FieldDefs.add('name test',ftblob,0,false);
ibtable1.FieldDefs.add('question',ftblob,0,false);
ibtable1.FieldDefs.add('type of question',ftinteger,0,false);
ibtable1.FieldDefs.Add('answers',ftblob,0,false);
ibtable1.FieldDefs.Add('media',ftboolean);
ibtable1.FieldDefs.Add('media path',ftblob,0,false);
ibtable1.CreateTable;
ibtable1.close;
ibtable1.TableName:=combobox1.Text;
ibtable1.Active:=true;
ibtable1.open;
ibtable1.Last;
ibtable1.Append;
ibtable1.edit;
if RadioGroup1.ItemIndex=0 then
begin
ibtable1.FieldValues['type of question']:=1;
ibtable1.FieldValues['answers']:=edit10.text;
end;
if RadioGroup1.ItemIndex=1 then
begin
ibtable1.FieldValues['type of question']:=2;
ibtable1.FieldValues['answers']:=edit10.text;
end;
if RadioGroup1.ItemIndex=2 then
begin
ibtable1.FieldValues['type of question']:=3;
ibtable1.FieldValues['answers']:=edit10.text;
end;
if RadioGroup1.ItemIndex=3 then
begin
ibtable1.FieldValues['type of question']:=4;
ibtable1.FieldValues['answers']:=edit10.text;
end;
ibtable1.FieldValues['name test']:=combobox1.text;
ibtable1.FieldValues['question']:=memo1.text;
ibtable1.FieldValues['media path']:=edit14.text;
if RadioGroup2.ItemIndex=0 then ibtable1.FieldValues['media']:=0;
if RadioGroup2.ItemIndex=1 then ibtable1.FieldValues['media']:=1;
ibtable1.post;
ibtable1.Next;
end else
begin
ibtable1.close;
ibtable1.TableName:=combobox1.Text;
ibtable1.open;
ibtable1.Database:=datamodule1.ibdatabase1;
ibtable1.Active:=true;
ibtable1.Last;
ibtable1.Append;
ibtable1.edit;
if RadioGroup1.ItemIndex=0 then
begin
ibtable1.FieldValues['type of question']:=1;
ibtable1.FieldValues['answers']:=edit10.text;
end;
if RadioGroup1.ItemIndex=1 then
begin
ibtable1.FieldValues['type of question']:=2;
ibtable1.FieldValues['answers']:=edit10.text;
end;
if RadioGroup1.ItemIndex=2 then
begin
ibtable1.FieldValues['type of question']:=3;
ibtable1.FieldValues['answers']:=edit10.text;
end;
if RadioGroup1.ItemIndex=3 then
begin
ibtable1.FieldValues['type of question']:=4;
ibtable1.FieldValues['answers']:=edit10.text;
end;
ibtable1.FieldValues['name test']:=combobox1.text;
ibtable1.FieldValues['question']:=memo1.text;
ibtable1.FieldValues['media path']:=edit14.text;
if RadioGroup2.ItemIndex=0 then ibtable1.FieldValues['media']:=0;
if RadioGroup2.ItemIndex=1 then ibtable1.FieldValues['media']:=1;
ibtable1.post;
ibtable1.Next;
end;
ibtransaction1.commit;
ibtransaction1.active:=false;
end else showmessage('Введите name test');
end;
щас выскакивает ошибка при таком расположении
в каких местах надо вставлять и как эти транзакции