Como Gravar em Interbase no Delphi ?????
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;
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;
Walter Faria
Curtidas 0
Respostas
Martins
21/09/2004
vejamos...
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.
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;
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.
GOSTEI 0
Vinicius2k
21/09/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+
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+
GOSTEI 0