Array
(
)

Como Gravar em Interbase no Delphi ?????

Walter Faria
   - 21 set 2004

Bom estou fazendo aplicativo em delphi com Base de Dados em Interbase, porem criei uma tabela chamada ITEM, qdo faço insercao no pelo interbase ele cria o codigo automaticamente, ja pelo delphi da uma msg :

Violation of Primary or Unique key constraint ´Integ_13´ on Table ITEM.

OBS : Lembrando que cria ( Trigger, Generators ), corretos.

no Click do Botao esta assim :

try
IbItem.Close;
IbItem.ParamByName(´Pedido´).AsFloat:= StrToFloat(Edit1.text);
IbItem.ParamByName(´Produto´).AsFloat:= StrToFloat(Edit3.text);
IbItem.ParamByName(´Qtde´).AsFloat:= StrToFloat(edit4.Text);
IbItem.ParamByName(´Unitario´).AsFloat:= StrToFloat(edit5.Text);
IbItem.ParamByName(´Total´).AsFloat:= StrToFloat(edit5.Text);
IbItem.ExecSQL;
BtnAdiciona.Enabled:= false;
IbTransacao.Commit;
except
MessageDlg(´Ouve um erro ao tentar Adicionar este item ao Pedido.´, mtError,[mbOk], 0);
IbTransacao.Rollback;
end;


Martins
   - 21 set 2004

vejamos...

Citação:
Bom estou fazendo aplicativo em delphi com Base de Dados em Interbase, porem criei uma tabela chamada ITEM, qdo faço insercao no pelo interbase ele cria o codigo automaticamente, ja pelo delphi da uma msg :

Violation of Primary or Unique key constraint ´Integ_13´ on Table ITEM.

OBS : Lembrando que cria ( Trigger, Generators ), corretos.


#Código


no Click do Botao esta assim :

try
IbItem.Close;
IbItem.ParamByName(´Pedido´).AsFloat:= StrToFloat(Edit1.text);
IbItem.ParamByName(´Produto´).AsFloat:= StrToFloat(Edit3.text);
IbItem.ParamByName(´Qtde´).AsFloat:= StrToFloat(edit4.Text);
IbItem.ParamByName(´Unitario´).AsFloat:= StrToFloat(edit5.Text);
IbItem.ParamByName(´Total´).AsFloat:= StrToFloat(edit5.Text);
IbItem.ExecSQL;
BtnAdiciona.Enabled:= false;
IbTransacao.Commit;
except
MessageDlg(´Ouve um erro ao tentar Adicionar este item ao Pedido.´, mtError,[mbOk], 0);
IbTransacao.Rollback;
end;


Onde vc faz referencia ao generator criado?

Que tal tenatar configurar a propriedade GeneratorField do IBDataSet, caso seja esse seu componente...

Pois na minha humilde opnião, o q esta acontecendo é q o generator não está sendo acionado...

Reveja seu projeto.


Vinicius2k
   - 21 set 2004

Colega,

Creio que o colega Martins está correto e o incremento por generator não está sendo disparado...
- Qual coluna da sua tabela deve receber o incremento?
- Poste-nos a instrução SQL no ´IBItem´.
- Poste-nos o código de sua trigger.

T+