Автор: kr3v3tkus 17.12.2007 3:23
Пока что таков вопрос: я не могу внести новую запись в базу... я думаю нужно найти какоенибудь свойство IBQuerry по типу RequestLive простого Query? Вторая догадка(наврядле каэш, но мб) - я в Ibexpert когда делал базу ставил ID автоинкрементными, содались генераторы, но в IBQuery есть такая штука как GeneratorField, и там все генераторы, которые я создавал... их надо активировать?
И объясните пожалуйста лаконично зачем нужен IBTransaction?
Автор: kr3v3tkus 17.12.2007 5:11
Терь пишет что ошибка в том что транзакция активна... я много фигни наворотил да? :'(
Код
Query.Open;
try
Transaction.StartTransaction;
Query.Last;
Query.Insert;
Query.FieldByName('goods.CODE').AsInteger := StrToInt(Edit1.Text);
Query.FieldByName('goods.QUANTITY').AsInteger := StrToInt(Edit2.Text);
Query.FieldByName('goods.MASS').AsInteger := StrToInt(Edit3.Text);
Query.FieldByName('goods.CAPACITY').AsInteger := StrToInt(Edit4.Text);
Query.FieldByName('goods.DESCRIPTION').AsString := Edit5.Text;
Query.FieldByName('goods.IMPORT_DATE').AsDateTime := StrToDate(Mask.Text);
Query.FieldByName('goods.TRUCK_NUMBER').AsInteger := StrToInt(Edit7.Text);
Query.FieldByName('storage.ZONE').AsInteger := i;
Query.FieldByName('storage.GOOD').AsInteger := Query.FieldValues['goods.ID'];
Transaction.CommitRetaining;
Query.Refresh;
except
Transaction.RollbackRetaining;
end;
Query.Close;
Query.Active := False;
зы прочитал что если Query.Open то Transaction.StartTransaction вызовет исключение
так как всёже сделать?
( ещё пишут что для этого над юзать TIBUpdateSQL... а как? :[