Chamuanza Posted June 24, 2016 at 07:38 PM Report #597379 Posted June 24, 2016 at 07:38 PM 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 FreiNando Posted June 25, 2016 at 02:34 PM Solution Report #597385 Posted June 25, 2016 at 02:34 PM 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
Chamuanza Posted June 25, 2016 at 04:22 PM Author Report #597389 Posted June 25, 2016 at 04:22 PM Boa Tarde FreiNando Obrigado pela Dica Estava a raciocinar em função da posição do ID na Tabela.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now