PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Refresh no IBDataSet #257351

05/11/2004

0

Olá! Tenho um IBDataSet cuja SelectSQL é uma SQL enorme com muitos joins. Sendo que nessa SQL ele une uma tabela detalhe com o seu mestre para pode obter várias outras informações. Existem dois campos principais na tabela detalhe dessa relação:

AUTO | CODIGO

Ambos os campos são inteiros sendo que o primeiro é um campo que é gerado automaticamente por uma trigger e o segundo é o código que identifica a qual registro do mestre essa linha vai estar ligada.
Nessa tabela eu também tenho um outro campo varchar(1).
Esse form mostra o IBDataSet em questão em um DBGrid. Vou mostrar agora como estão os dados desses campos principais no DBGrid:

AUTO | CODIGO
1 | 1
2 | 1
3 | 1 *linha marcada no DBGrid
4 | 2
5 | 2
6 | 3

Nessa tela o usuário deveria marcar uma linha dessa tabela de detalhe (no caso a terceira linha) e depois pressionar um botão da tela. Quando o botão é pressionado eu pego o código do mestre para esse registro (no caso 1). E nesse momento eu tenho que pegar todas as linhas que tem esse código do mestre e setar nelas o meu campo varchar(1) para um outro valor qualquer (digamos ´X´). Logo eu não pude simplesmente Editar o IBDataSet, fazer a alteração e ´Postar´. Eu executei um UPDATE em uma IBSQL para atualizar os dados pra mim e aí é que acontece o problema. Somente a linha marcada no DBGrid está sendo atualizada (o valor definido para o campo aparece no DBGrid). E mesmo assim só na primeira vez. Se eu apertar novamente o botão e alterar novamente o valor do campo essa linha não é atualizada. Os demais detalhes desse do

Se alguém puder me dar uma ajuda eu agradeço! Até!


Delphi32

Delphi32

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar