Jump to content
Sign in to follow this  
Chamuanza

ANSWERED Actualizar BD

Recommended Posts

Chamuanza

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

Share this post


Link to post
Share on other sites
FreiNando

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

Share this post


Link to post
Share on other sites
Chamuanza

Boa Tarde FreiNando

Obrigado pela Dica

Estava a raciocinar em função da posição do ID na Tabela.

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • 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.