Incrementar valor campo MySQL con VB.NET

Resulta que estoy haciendo un programa con VB.Net para trabajar con base de datos, es un directorio de personal de una empresa, todo va bien con las consultas, modificaciones y nuevos registros, pero donde me produce un problema es en un campo "int" de MySQL el cual va a llevar el conteo del numero de consultas que se le hace al registro, el objetivo es crear una búsqueda posterior un poco mas rápida y eficaz basándose en los contactos mas utilizados, para lo anterior utilicé el siguiente procedimiento el cual se ejecuta al seleccionar un registro:

Sub Incrementar_Num_Consulta(ByVal IdContacto as string)
        Dim Comando As String
        Comando = "UPDATE `Mi_base`.`Tabla_Contactos` SET Numero_Consultas = Numero_Consultas + 1 WHERE `IdContacto`='" & IdContacto  & "';"
        Dim Conexion = New MySqlConnection()
        Conexion.ConnectionString = Cadena_Conexion
        Conexion.Open()
        Using EjecutarCmd As New MySqlCommand(Comando, Conexion)
            EjecutarCmd.ExecuteNonQuery()
            If EjecutarCmd.ExecuteNonQuery() = 1 Then
            Else
                MsgBox("error")
            End If
        End Using
        Conexion.Close
end sub

El detalle es que sí, incrementa el valor del campo en cuestión pero lo hace de dos en dos y la verdad se me hace muy extraño, y si le pongo que incremente 2, incrementa 4 en 4 y así sucesivamente, presiento que mi Comando está mal elaborado pero no le encuentro el error.

1

1 Respuesta

390 pts. Cada día es una nueva oportunidad para aprender algo...

Después de estar observando me di cuenta que ejecutaba dos veces la instrucción:

EjecutarCmd. ExecuteNonQuery()

solo debe ser así:

 If EjecutarCmd.ExecuteNonQuery() = 1 Then
 Else
 MsgBox("error")
 End If

y NO de esta manero:

 EjecutarCmd.ExecuteNonQuery()
 If EjecutarCmd.ExecuteNonQuery() = 1 Then
 Else
 MsgBox("error")
 End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas