none
COMO FAZER UM BOTÃO PARA ATUALIZAR UM REGISTRO ? RRS feed

  • Pergunta

  • Boa tarde !

    Estou criando um sistema de cadastro e gostaria de saber como eu altero um registro já inserido... exemplo: digito normalmente os dados e salvo ao clicar no botão, depois puxo essas informações de um datagridview (que já está funfando ^^) modifico algum campo e clico em salvar, ai ao invés de criar um novo (o que está acontecendo) ele atualiza e salva o mesmo registro.


    Esse é meu código do botão salvar:

     Private Sub btn_salvar_Click(sender As System.Object, e As System.EventArgs) Handles btn_salvar.Click
            'VERIFICA SE EXISTEM CAMPOS VAZIOS'
            If txtEstip.Text = "" Or txtRamo.Text = "" Or txtOperadora.Text = "" Or txtGerencia.Text = "" Or txtUnidade.Text = "" Or txtPeriodo.Text = "" Or txtVitalicio.Text = "" Or txtAporte.Text = "" Or txtReajTecnico.Text = "" Or txtReajFinanceiro.Text = "" Or txtIndiceSol.Text = "" Or txtIndiceNego.Text = "" Or
    txtPremio.Text = "" Or txtMesaplic.Text = "" Or txtPeriodo.Text = "" Then
                MessageBox.Show("Preencha os campos necessários (*)")
            Else
                'SE NÃO... SALVA O REGISTRO'
                Me.Tbl_HistoricoReajusteTableAdapter.Insert(txtIDCliente.Text, txtIDContrato.Text, txtEstip.Text, txtRamo.Text, txtOperadora.Text, txtGerencia.Text, txtUnidade.Text, txtPeriodo.Text, txtVitalicio.Text, txtAporte.Text, txtReajTecnico.Text, txtReajFinanceiro.Text,
                                                            txtIndiceSol.Text, txtIndiceNego.Text, txtEconomia.Text, txtPremio.Text, txtVitalAtual.Text, txtPremioReaj.Text, txtNovoVital.Text, txtDifeVital.Text, txtEcoMensal.Text, txtEco12M.Text, txtHistObs.Text, txtMesaplic.Text)
                Me.Tbl_HistoricoReajusteTableAdapter.Update(Me.DataSet1.tbl_HistoricoReajuste)
    
                MsgBox("Reajuste da " + txtEstip.Text + " cadastrado com Sucesso !", MsgBoxStyle.Question, "Cadastro Salvo")
            End If
        End Sub

    Estou usando VB e Banco de dados Access... Preciso dessa força, não manjo muita coisa.

    Valeu !


    • Editado Markus Proença sexta-feira, 21 de agosto de 2015 17:10 Correção de texto
    sexta-feira, 21 de agosto de 2015 17:06

Respostas

  • Markus a lógica para alterar um registro vc pega o id do registro e pelo comando sql vc altera :

    "update tabela set campos where id registro = ao registro que vc guardou.


    Junior

    • Marcado como Resposta Marcos SJ sexta-feira, 21 de agosto de 2015 19:17
    sexta-feira, 21 de agosto de 2015 18:48

Todas as Respostas

  • Markus a lógica para alterar um registro vc pega o id do registro e pelo comando sql vc altera :

    "update tabela set campos where id registro = ao registro que vc guardou.


    Junior

    • Marcado como Resposta Marcos SJ sexta-feira, 21 de agosto de 2015 19:17
    sexta-feira, 21 de agosto de 2015 18:48
  • Obrigado Junior, consegui criar e funcionou direitinho.

    Ficou assim:

            Dim strCon = My.Settings.ResumoApBDConnectionString
            Dim Conexao As New System.Data.OleDb.OleDbConnection(strCon)
    
            Dim sSQL As String = "UPDATE tbl_HistoricoReajuste SET IDCliente = '" & txtIDCliente.Text & "', IDContrato = '" & txtIDContrato.Text & "', Estipulante_principal = '" & txtEstip.Text & "', Ramo = '" & txtRamo.Text & "', Operadora_Seguradora = '" & txtOperadora.Text & "', Gerência = '" & txtGerencia.Text & "', Unidade_Negocio = '" & txtUnidade.Text & "', Periodo_Avaliacao = '" & txtPeriodo.Text & "' WHERE IDReajuste =" + txtIDReajuste.Text
    
            Dim cmd As New System.Data.OleDb.OleDbCommand
            cmd.CommandType = System.Data.CommandType.Text
            cmd.CommandText = sSQL
            cmd.Connection = Conexao
    
            Conexao.Open()
            cmd.ExecuteNonQuery()
            Conexao.Close()

    Valeu !

    segunda-feira, 24 de agosto de 2015 13:00