Galera, boa tarde!
Preciso de uma ajudinha aqui.
Tenho uma tabala que salva os laudos do paciente com os seguintes parâmetros:
@IDPaciente INT,
@CodPacienteLaudos INT, (IDENTITY YES)
@NomeLaudo VARCHAR(250),
@DescricaoLaudo VARCHAR(MAX)
e tenho a procedure:
@IDPaciente INT, @CodPacienteLaudos INT, @NomeLaudo VARCHAR(250), @DescricaoLaudo VARCHAR(MAX) AS BEGIN UPDATE LaudosPaciente SET NomeLaudo = @NomeLaudo, DescricaoLaudo = @DescricaoLaudo WHERE IDPaciente = @IDPaciente AND CodPacienteLaudos = @CodPacienteLaudos END
Até ai tudo certo. Eu passo o IDPaciente e passo o CodPacienteLaudos referente a esse laudo do paciente. Ele altera normalmente o laudo. Estou com problemas pra passar isso para a aplicação. Segue os códigos:
método alterar:
public string AlterarLaudoPaciente(LaudosPaciente laudopaciente) { try { acessoDadosSQLServer.LimparParametros(); acessoDadosSQLServer.AdicionarParametros("@IDPaciente", laudopaciente.IDPaciente); acessoDadosSQLServer.AdicionarParametros("@CodPacienteLaudos", laudopaciente.CodPacienteLaudos); acessoDadosSQLServer.AdicionarParametros("@NomeLaudo", laudopaciente.NomeLaudo); acessoDadosSQLServer.AdicionarParametros("@DescricaoLaudo", laudopaciente.DescricaoLaudo); acessoDadosSQLServer.ExecutarManipulacao(CommandType.StoredProcedure, "uspAlterarLaudoPaciente"); return string.Empty; } catch (Exception ex) { throw new Exception("Não foi possível alterar" + ex.Message); }
botão alterar:
private void btnAlterar_Click(object sender, EventArgs e) { if (txtLaudos.TextLength == 0) { MessageBox.Show("Preencha todos os campos.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); txtLaudos.Focus(); } else { DialogResult resultado = MessageBox.Show("Alterar laudo selecionado?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (resultado == DialogResult.Yes) { try { LaudosPaciente laudoPaciente = new LaudosPaciente(); LaudosPacienteNegocios lpNegocios = new LaudosPacienteNegocios(); laudoPaciente.IDPaciente = this.paciente.COD_PACIENTE; laudoPaciente.CodPacienteLaudos = this.paciente.COD_PACIENTE; laudoPaciente.DescricaoLaudo = txtLaudos.Text; laudoPaciente.NomeLaudo = txtNomeLaudo.Text; lpNegocios.AlterarLaudoPaciente(laudoPaciente); MessageBox.Show("Alterado com sucesso.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); AtualizarGridLaudosPaciente(); } catch { MessageBox.Show("Não foi possível alterar", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); txtNomeLaudo.Clear(); txtLaudos.Clear(); }
Eu já tentei dessa forma e nada acontece. Lembrando que um mesmo paciente pode ter vários laudos. Eu quero pegar um laudo especifico do mesmo paciente e alterar ele. Acho que tou fazendo errado no botao alterar ou na forma como eu seleciono o laudo no grid.
Tenho um grid com vários laudos de um paciente, escolho um laudo especifico altero e clico em alterar.
Ajuda?