Update de dados num form com valores digitados noutro
Olá pessoal.
Tenho uma dúvida em trabalhar com forms.
É o seguinte: tenho um frmPrincipal composto pela informação relativa a um paciente e outras coisas mais, mas onde não se pode alterar a informação apesentada.
Nesse form tem um botão "Alterar" que, ao clicar, abre frmAlterar com toda a informação relativa aos dados do Paciente, tal como no frmPrincipal.
Neste frmAlterar posso alterar qualquer informação que pretenda e gravar essas alterações através do botão "Gravar".
O que pretendo é que, depois do clique no botão "Gravar" no frmAlterar, seja feito update à informação no frmPrincipal.
Tenho uma dúvida em trabalhar com forms.
É o seguinte: tenho um frmPrincipal composto pela informação relativa a um paciente e outras coisas mais, mas onde não se pode alterar a informação apesentada.
Nesse form tem um botão "Alterar" que, ao clicar, abre frmAlterar com toda a informação relativa aos dados do Paciente, tal como no frmPrincipal.
Neste frmAlterar posso alterar qualquer informação que pretenda e gravar essas alterações através do botão "Gravar".
O que pretendo é que, depois do clique no botão "Gravar" no frmAlterar, seja feito update à informação no frmPrincipal.
Guilherme
Curtidas 0
Respostas
Joel Rodrigues
03/11/2014
Não sei como você está fazendo a ligação com o banco de dados, mas se vocÊ fizero update no segundo form, e ao fechá-lo,fizer um select no form principal, os dados virão atualizados.
GOSTEI 0
Guilherme
03/11/2014
Eu faço a ligação com Procedures.
Os campos do 1º form não podem ser alterados.
Por isso é que é aberto outro form com os mesmos campos do 1º, para serem alterados.
Esses valores são inseridos num sqlParameterCollection e enviados à BD para executar a procedureUpdate com esses parametros.
É disparada uma MessageBox: "Paciente alterado com sucesso".
O que queria era, que ao clicar OK na MessageBox, o 1º form atualize.
Estava a pensar fazer no 1ºform
...
Form2 form2 = new Form2();
form2.carregaPaciente(paciente);
form2.Show();
...
if(form2.ShowDialog() == DialogResult.OK) {
Paciente pacienteAlterado = new Paciente();
pacienteAlterado = "paciente alterado no 2º form"
this.carregaPaciente(pacienteAlterado);
}
Não sei se me estou a explicar da melhor maneira
Os campos do 1º form não podem ser alterados.
Por isso é que é aberto outro form com os mesmos campos do 1º, para serem alterados.
Esses valores são inseridos num sqlParameterCollection e enviados à BD para executar a procedureUpdate com esses parametros.
É disparada uma MessageBox: "Paciente alterado com sucesso".
O que queria era, que ao clicar OK na MessageBox, o 1º form atualize.
Estava a pensar fazer no 1ºform
...
Form2 form2 = new Form2();
form2.carregaPaciente(paciente);
form2.Show();
...
if(form2.ShowDialog() == DialogResult.OK) {
Paciente pacienteAlterado = new Paciente();
pacienteAlterado = "paciente alterado no 2º form"
this.carregaPaciente(pacienteAlterado);
}
Não sei se me estou a explicar da melhor maneira
GOSTEI 0
Joel Rodrigues
03/11/2014
Sim, entendi o que você precisa. Como eu disse, você pode fazer a parte de atualização direto no form 2 e no form 1, apenas recarregar os dados do paciente em questão.
Caso sua dificuldade seja como acessar um campo no form 2, você pode declará-lo como público:
Assim vocÊ poderia fazer:
Caso sua dificuldade seja como acessar um campo no form 2, você pode declará-lo como público:
public Paciente PacienteAtual { get; set; }
Assim vocÊ poderia fazer:
form2.PacienteAtual = pacienteEmEdicao;
GOSTEI 0
Joel Rodrigues
03/11/2014
Olá, conseguiu resolver seu problema?
GOSTEI 0