none
UPDATE (SQL) não funciona! RRS feed

  • Pergunta

  • Olá pessoal!

    Estou começando com VB.NET e estou com um pequeno problema.

    Estou desenvolvendo uma aplicação mais elaborada, utilizando DAO.NET através de código, pois prefiro trabalhar com código.

    Tudo corria bem, quando fui testar o comando UPDATE (SQL) de um OleDbCommand, e este simplesmente não faz nada. Então pra simplificar eu fiz um pequeno exemplo com ADO, para testar, e realmente não funciona. Ele não retorna erro nem nada. Simplesmente não altera a base de dados.

    No meu exemplo uso uma base de dados MDB e no form tem 3 textbox que correspondem aos campos da tabela Cliente.

    Segue o código do botão que deveria fazer o trabalho. Se puderem apontar o problema, ficarei grato.

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        con = New OleDbConnection(conStr)
        con.Open()
        comm = New OleDbCommand()
        comm.Connection = con
        comm.CommandType = CommandType.Text
        comm.CommandText = "UPDATE Cliente SET Telefone=@telefone WHERE ClienteID=@clienteID"
        comm.Parameters.AddWithValue("@clienteID", TextBox1.Text)
        comm.Parameters.AddWithValue("@nome", TextBox2.Text)
        comm.Parameters.AddWithValue("@telefone", TextBox3.Text)
        comm.ExecuteNonQuery()
      End Sub
    
    
    Obrigado desde já!
    sexta-feira, 19 de novembro de 2010 17:26

Respostas

  • Mr. Cronos,

    quando você utiliza o OleDb provider para acesso a banco de dados, a ordem que você atribui os parâmetros faz diferença (nesse caso, o nome do parâmetro não serve para muita coisa). Portanto, sugiro que retire o parâmetro "@nome" (já que ele não se encontra na query) e que inverta a ordem dos parâmetros @telefone e @clienteID para que reflitam a mesma ordem em que aparecem na query.


    Ricardo Oneda Blog de Ricardo Oneda Perfil de Ricardo Oneda no Twitter Perfil MVP de Ricardo Oneda
    • Marcado como Resposta Mr. Cronos sexta-feira, 19 de novembro de 2010 19:53
    sexta-feira, 19 de novembro de 2010 18:10

Todas as Respostas