Não consigo atualizar meu banco...
Ola pessoal.
Estou com um probleminha.
Uso o componente IBTable para acessar minha tabela, criei um TRIGGER no meu banco de dados para que dispare quando uma nova quantidade for inserida no estoque, este é atualizado pelo COD_Produto.
quando peço Clicko no botão ´confirmar operação´ não atualiza na hora o meu registro.
Coloquei logo após o post um ´IBTransation.Commit´, mas ai ele fecha todas as minha tabelas e tenho que sair do programa.
Alguém pode me ajudar com mais esta.
Peninha.
Estou com um probleminha.
Uso o componente IBTable para acessar minha tabela, criei um TRIGGER no meu banco de dados para que dispare quando uma nova quantidade for inserida no estoque, este é atualizado pelo COD_Produto.
quando peço Clicko no botão ´confirmar operação´ não atualiza na hora o meu registro.
Coloquei logo após o post um ´IBTransation.Commit´, mas ai ele fecha todas as minha tabelas e tenho que sair do programa.
Alguém pode me ajudar com mais esta.
Peninha.
Peninha
Curtidas 0
Respostas
Gandalf.nho
20/10/2004
Bem, sempre que se dá um COMMIT as tabelas associadas a transação são sempre fechadas. Para evitar isso, só dando um CommitRetainning. Outra sugestão é não usar Table que é totalmente desaconselhável numa base de dados C/S com o IB/FB. Use o IBDataSet ou a dupla IBQuery + IBUpdateSQL.
GOSTEI 0
Peninha
20/10/2004
Ola Pessoal.
Bom segui o seu exemplo e passei a usar o ´IBDATASET´, pois estava usando o ´IBTABLE´. Mas agora o TRIGGER que atualizava minha minha tabela de estoque via entrada_Estoque não esta funcionando mais.
Não conheço muito bem o ´IBDATASET´, será que estou fazendo alguma coisa errada?
peninha..
Bom segui o seu exemplo e passei a usar o ´IBDATASET´, pois estava usando o ´IBTABLE´. Mas agora o TRIGGER que atualizava minha minha tabela de estoque via entrada_Estoque não esta funcionando mais.
Não conheço muito bem o ´IBDATASET´, será que estou fazendo alguma coisa errada?
peninha..
GOSTEI 0
Gandalf.nho
20/10/2004
Você setou corretamente as propriedades SQL associadas com o IBDataSet (DeleteSQL, InsertSQL, ModifySQL e RefreshSQL)? Coloque o código da trigger para poder dar uma olhada.
GOSTEI 0
Peninha
20/10/2004
Bom, este é o TIGGER:
E estas são as propriedades SQL do IBDataset.
Quanto a tabela de Estoque, as propriedades do componente IBdataset estão todos setados para o campo cod_Produto.
Peninha.
SET TERM ^; CREATE TRIGGER ATUALIZA_ESTOQUE FOR TAB_ENTRAPROD ACTIVE BEFORE INSERT POSITION 0 AS BEGIN UPDATE TAB_ESTOQUE SET QUANTIDADE = QUANTIDADE + NEW.QUANTIDADE_ENTRA WHERE COD_PRODUTO = NEW.COD_PRODUTO; END ^ SET TERM ; ^
E estas são as propriedades SQL do IBDataset.
Modify: update TAB_ENTRAPROD set NOVA_ENTRADA = :NOVA_ENTRADA where NOVA_ENTRADA = :OLD_NOVA_ENTRADA Insert: insert into TAB_ENTRAPROD (NOVA_ENTRADA) values (:NOVA_ENTRADA) DElete: delete from TAB_ENTRAPROD where NOVA_ENTRADA = :OLD_NOVA_ENTRADA Refresh: Select NOVA_ENTRADA, COD_PRODUTO, DESCRICAO, COD_FORNECE, NOME_FORNECE, QUANTIDADE_ENTRADA, NUMERO_NOTA, VALOR_NOTA, VALOR_UNIT, PERC_LUCRO, PERC_ICMS, PREC_VENDA, RESPONSAVEL, OBS, GRUPO, UNIDADE from TAB_ENTRAPROD where NOVA_ENTRADA = :NOVA_ENTRADA
Quanto a tabela de Estoque, as propriedades do componente IBdataset estão todos setados para o campo cod_Produto.
Peninha.
GOSTEI 0