Problema com transação no TDataSetProvider (BeforeUpdateRecord) e Sequence
Galera
Trabalho com Firebird 2.5 e Delphi 2010, codifico as transações como irei demonstrar abaixo:
TSQLDataSet, TDataSetProvider, TClientDataSet e TDataSource.
Para inserção no BD utilizo SEQUECE para o ID das tabelas, por isso seto -1 para o IDMaster, e vou diminuindo 1 para os demais ID das tabelas detalhe.
No Options do TDataSetProvider habilito as opções
[poCascadeDeletes,
poCascadeUpdates,
poAllowMultiRecordUpdates,
poPropogateChanges,
poRetainServerOrder,
poUseQuoteChar]
No BeforeUpdateRecord do TDataSetProvider :
Depois do 2 faturamento o IDMaster fica igual a -1 e da erro.
Alguém sabe me informar o que posso estar fazendo de errado.
Trabalho com Firebird 2.5 e Delphi 2010, codifico as transações como irei demonstrar abaixo:
TSQLDataSet, TDataSetProvider, TClientDataSet e TDataSource.
Para inserção no BD utilizo SEQUECE para o ID das tabelas, por isso seto -1 para o IDMaster, e vou diminuindo 1 para os demais ID das tabelas detalhe.
No Options do TDataSetProvider habilito as opções
[poCascadeDeletes,
poCascadeUpdates,
poAllowMultiRecordUpdates,
poPropogateChanges,
poRetainServerOrder,
poUseQuoteChar]
No BeforeUpdateRecord do TDataSetProvider :
if (SourceDS = cdsFaturamento) and (UpdateKind = ukInsert) then
begin
IDMaster := ProximoValor('MOVFATURAMENTO', 'ID_FATURAMENTO', 'SEQ_ID_FATURAMENTO');
DeltaDS.FieldByName('ID_FATURAMENTO').NewValue := IDMaster;
end
else
begin
if (IDMaster = '') and (cdsFaturamento.FieldByName('ID_FATURAMENTO').AsInteger > 0) then
IDMaster := TClientDataSet.FieldByName('ID_FATURAMENTO').AsString;
end;
if (SourceDS = sdsItens) and (UpdateKind = ukInsert) then
begin
DeltaDS.FieldByName('ID_FATURAMENTO_ITEM').NewValue := ProximoValor('MOVFATURAMENTO_ITENS', 'ID_FATURAMENTO_ITEM', 'SEQ_ID_FATURAMENTO_ITEM');
DeltaDS.FieldByName('ID_FATURAMENTO').NewValue := IDMaster;
end;
Depois do 2 faturamento o IDMaster fica igual a -1 e da erro.
Alguém sabe me informar o que posso estar fazendo de errado.
Huelbert Oliveira
Curtidas 0
Respostas
Huelbert Oliveira
14/08/2013
Alguém poderia ajudar
GOSTEI 0
Huelbert Oliveira
14/08/2013
Bom dia
Existe alguma propriedade que na transação muda o campo para null.
Está dando esse erro comigo.
Aguardo
Existe alguma propriedade que na transação muda o campo para null.
Está dando esse erro comigo.
Aguardo
GOSTEI 0