C SHARP & SQL SERVER - UPDATE e SELECT AUTOMÁTICO (SE A VARIÁVEL NO C SHARP ALTERAR VALOR)

11/12/2013

0

Fala Galera, sou iniciante em C# e SQL e gostaria de uma luz, uma dica qual linha devo pesquisar pra solucionar os problemas abaixo:

1º Problema: Como faço para na aplicação C# toda vez que uma variável mudar de valor, seja feito um UPDATE automaticamente na tabela no campo referente aquela variável que mudou de valor na aplicação. tenho pesquisado sobre o TRIGGER mas pelo que eu entendi é disparando um evento quando o valor muda lá no banco e próprio banco que faz essa ação nele mesmo, ou seja, antes eu precisei manualmente lá na aplicação C# fazer esse UPDATE clicando em um botão salvar por exemplo.

2º Problema: Seria o reverso do 1º. Tenho uma outra aplicação totalmente distinta, e faria um SELECT automaticamente assim que um campo é alterado na tabela, enquanto na primeira aplicação eu insiro os dados, a segunda conectada no mesmo banco, faria a leitura automática dessa alteração. A primeira aplicação seria do "Operador" e a segunda aplicação seria apenas um "Monitoramento".

Só pra vocês terem ideia, eu até consegui fazer isso, mas foi uma tremenda "gambiarra" rsrs... até antes de assistir algumas aulas sobre SQL, eu estava usando antes C# com Mysql (não tem nem comparação em um usar SQL server, 1000x melhor que Mysql), fiz o seguinte; usei aquele componente TIMER do C# e cada 10 segundos ele conectava e fazia o UPDATE das variáveis e desconectava, fazia esse procedimento a cada 10 segundos, detalhe que são 19 campos e fazia o UPDATE nos 19 campos, alterando ou não algum deles.. olha que gambiarra., e na segunda aplicação eu fiz o mesmo pro SELECT, a cada 10 segundos conectava fazia o SELECT trazia os valores pras variáveis e desconecta, lia os 19 campos tendo eles sido alterados ou não.

Se alguém puder me uma ideia dessa solução agradeço muito.


Obrigado!
Thiago Neves

Thiago Neves

Responder

Posts

11/12/2013

Jefferson Santos

Amigo faça uma trigger pegando o UPDATED, ou seja ultimo update feito na tabela.
Procure um pouco sobre INSERTED e UPDATED e vai se esclarecer melhor.
Uma boa dica é acompanhar os videos do Professor Drauzio no Youtube.
Ele fala sobre criação de Trigger pegando o Ultimo Insert e Update realizados na tabela.
Responder

11/12/2013

Thiago Neves

hum.. certo! vou da uma pesquisada na sua dica. Obrigado!

No banco em sI eu entendi a questão da TRIGGER, a minha dúvida maior e lá na aplicação C#, como eu fazer o UPDATE e SELECT pro banco assim que uma variável muda de valor,sem a necessidade de apertar um botão por exemplo. Um exemplo, tenho um TextBox vazio, assim que eu inserir um nome, ele faz o UPDATE automaticamente, e só irar fazer um novo UPDATE se eu alterar o valor que está no TextBox.
Responder

11/12/2013

Fabiano Carvalho

nao existe updated
e sim deleted e inserted.
Responder

12/12/2013

Lucas Davies

Amigo, primeiro você deve avaliar se está utilizando a tecnologia certa pro problema em questão.

Se você quiser por exemplo um relatório sempre atualizado, como um CSV exportado como .XLSX, basta criar uma trigger no campo XPTO de sua tabla XYZ no banco de dados e fazer ela realizar um append em um arquivo do sistema operacional (via T-SQL mesmo).

Se você quer isso para o usuário através de uma telinha bonitinha, ou uma página web, tente adotar o Pattern Observer entre o banco de dados e sua aplicação (vc vai ter de ver a possibilidade de se fazer isso, ou simular algo semelhante...).

Quanto a alterar uma variável em seu sistema de software e modificar em seguida o valor correspondente no banco de dados, não há segredo.
Você pode criar uma propriedade e quando estiver dentro do set { }, realizar o update... mas de qualquer forma imagino que existam outras maneiras de vc fazer isso melhor.

Veja se o Entity Framework já não tem algo pronto relacionado a esta(s) coisa(s).

Abraços!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar