none
Atualizar row de uma basse de dados access vb.net RRS feed

  • Pergunta

  • O seguinte erro está a acontecer quando "atualizo" os resultados da base de dados(imagem)

    https://social.msdn.microsoft.com/Forums/getfile/1004028

    O codigo que tenho é este:
    'atualizar database
        Private Sub Atualizar(ID As Integer)
            Dim sql As String = "UPDATE resultados SET [nome]='" & TextBoxNome.Text & "',[Data da competição]='" & FormatDateTime(Datedacompetiçao.Value, DateFormat.ShortDate) & "',[Competição]='" & ComboBoxCompeticao.Text & "',[prova]='" & ComboBoxProva.Text & "',[Posição]='" & ComboBoxPosicao.Text & "',[marca]='" & TextBoxMarca.Text & "' WHERE [ID]=' & ID & '"
            'Abre, atualiza, e encerra a conexão 
            con.Open()
            cmd = New OleDbCommand(sql, con)
            If (cmd.ExecuteNonQuery() > 0) Then
                MsgBox("Resultados atualizados")
                CleartextBoxes()
            End If
            con.Close()
            VerTabela()
        End
    


    sexta-feira, 17 de fevereiro de 2017 21:39

Respostas

  • O campo ID é numérico e você passou uma string, tente assim:

    Dim sql As String = "UPDATE resultados SET [nome]='" & TextBoxNome.Text & "',[Data da competição]='" & FormatDateTime(Datedacompetiçao.Value, DateFormat.ShortDate) & "',[Competição]='" & ComboBoxCompeticao.Text & "',[prova]='" & ComboBoxProva.Text & "',[Posição]='" & ComboBoxPosicao.Text & "',[marca]='" & TextBoxMarca.Text & "' WHERE [ID]=" & ID 


    João Paulo Gomes

    • Marcado como Resposta Hugoduarte sexta-feira, 17 de fevereiro de 2017 21:56
    sexta-feira, 17 de fevereiro de 2017 21:54

Todas as Respostas

  • Parece que você está tentando inserir um dado do tipo errado em uma coluna do banco de dados. Por exemplo, você pode estar tentando inserir um string em uma coluna que só aceita números.

    Você pode tentar dessa forma:

    Dim sql As String = "UPDATE resultados SET [nome]='" & TextBoxNome.Text & "',[Data da competição]='" & FormatDateTime(Datedacompetiçao.Value, DateFormat.ShortDate) & "',[Competição]='" & ComboBoxCompeticao.Text & "',[prova]='" & ComboBoxProva.Text & "',[Posição]='" & ComboBoxPosicao.Text & "',[marca]='" & TextBoxMarca.Text & "' WHERE [ID]=" & ID 

    Se meu comentário não ajudou ainda, poste a estrutura da sua tabela.


    João Paulo Gomes



    • Editado John Owl sexta-feira, 17 de fevereiro de 2017 21:50
    sexta-feira, 17 de fevereiro de 2017 21:47
  • Parece que você está tentando inserir um dado do tipo errado em uma coluna do banco de dados. Por exemplo, você pode estar tentando inserir um string em uma coluna que só aceita números.

    Se meu comentário não ajudou ainda, poste a estrutura da sua tabela.


    João Paulo Gomes


    Aqui está

    https://social.msdn.microsoft.com/Forums/getfile/1004033

    sexta-feira, 17 de fevereiro de 2017 21:50
  • O campo ID é numérico e você passou uma string, tente assim:

    Dim sql As String = "UPDATE resultados SET [nome]='" & TextBoxNome.Text & "',[Data da competição]='" & FormatDateTime(Datedacompetiçao.Value, DateFormat.ShortDate) & "',[Competição]='" & ComboBoxCompeticao.Text & "',[prova]='" & ComboBoxProva.Text & "',[Posição]='" & ComboBoxPosicao.Text & "',[marca]='" & TextBoxMarca.Text & "' WHERE [ID]=" & ID 


    João Paulo Gomes

    • Marcado como Resposta Hugoduarte sexta-feira, 17 de fevereiro de 2017 21:56
    sexta-feira, 17 de fevereiro de 2017 21:54