none
Verificar si existe

    Pregunta

  • Hola, tengo una función que verifica que no se guarda un valor de un campo si este valor ya esta registrando en la base, mi duda es como puedo hacer para que en caso de que un registro del campo "Código" sea igual a 0 me permita guardar otro registro con el valor 0, en caso que no sea igual a 0 que no me permita guardarlo.

    Aca les dejo el codigo;

            Using con As New SqlConnection("...")
    
                Dim query = "Select COUNT(*)  from Productos where Nombre = @Nombre or Codigo = @Codigo"
    
                Dim cmd As New SqlCommand(query, con)
                cmd.Parameters.AddWithValue("@Nombre", txtNombre.Text)
                cmd.Parameters.AddWithValue("@Codigo", txtcodigobar.Text)
                con.Open()
    
                If CInt(cmd.ExecuteScalar()) > 0 Then
                    MsgBox("Este nombre o codigo de barra ya esta registrado.")
                Else
                    ProcedimientoGuardar()
                End If
    
            End Using

    Saludos

    viernes, 13 de enero de 2017 0:49

Respuestas

  • Laura321,

    ¿Tienes algún indice que restringa unicidad en la columna [Codigo]? Si no has creado un índice único entonces bastará con discriminar el valor cero en la expresión de filtro:

    WHERE Nombre = @Nombre OR (Codigo = @Codigo AND @Codigo <> 0)


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Laura321 viernes, 13 de enero de 2017 2:05
    viernes, 13 de enero de 2017 1:05