Jump to content

Actualizar BD


Go to solution Solved by FreiNando,

Recommended Posts

Posted

Um Bem Aja a todos

Tenho este código para fazer a actualização na BD, no entanto depois de executado e dando a mensagem de actualização com sucesso, o que é facto é que não actualiza a BD.

O que me falta?

Obrigado desde já .

//
Private Sub cmdActualizarDados_Click(sender As Object, e As EventArgs) Handles cmdActualizarDados.Click

    'Actualiza os Dados introduzidos nas Textbox na Tabela
    Dim ConnectionString As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Justino\Documents\Visual Studio 2013\Projects\TotoMilhoesNovo\TotoMilhoesNovo\bin\Debug\GuardarResultados.accdb")
    Dim query As String = "UPDATE NumJogadosEuromilhoes SET [N1] = @N1,[N2] = @N2,[N3] = @N3,[N4] = @N4,[N5] = @N5,[E1] = @E1,[E2] = @E2 WHERE [iD] = @ID"
    Dim command As New OleDbCommand(query, ConnectionString)

    ' Actualiza apenas os dados do Id que consta na Textbox
    command.Parameters.Add("@ID", OleDbType.Integer).Value = TextBox8.Text
    command.Parameters.Add("@N1", OleDbType.VarChar).Value = TextBox1.Text
    command.Parameters.Add("@N2", OleDbType.VarChar).Value = TextBox2.Text
    command.Parameters.Add("@N3", OleDbType.VarChar).Value = TextBox3.Text
    command.Parameters.Add("@N4", OleDbType.VarChar).Value = TextBox4.Text
    command.Parameters.Add("@N5", OleDbType.VarChar).Value = TextBox5.Text
    command.Parameters.Add("@E1", OleDbType.VarChar).Value = TextBox6.Text
    command.Parameters.Add("@E2", OleDbType.VarChar).Value = TextBox7.Text

    ConnectionString.Open()
    Dim x As Integer = command.ExecuteNonQuery()
    If x < 1 Then
	    MessageBox.Show("Erro ao actualizar", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
    Else
	    MessageBox.Show("Actualizado com sucesso!", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Information)
    End If
    ConnectionString.Close()
    command = Nothing
   End Sub
  • Solution
Posted

OleDb não aceita parâmetros por nome, devem ser adicionados pela ordem em que são declarados na query.

Por isso o @ID deve passar para o fim, e ser o ultimo parâmetro a adicionar.

Ver info.

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.