none
Ayuda como Validar un Códigos o el ID del cliente de mi base de datos access para que no se repitan? RRS feed

  • Pregunta

  • Hola estoy realizando un sistema y tengo un datagrid en el cual ingreso datos desde mi formulario  con textbox al darle a mi botón cargar los datos se guardan en base de datos y al mismo tiempo lo s cargan en mi datagrid que esta en el mismo formulario de registro. lo que quiero hacer es que cuando el usuario ingrese un código de cliente y si ya esta en la base de datos que tire un msgbox("El registro ya existe") y no lo ingrese ......mi datagrid contiene un código cliente  que es el que no se debe repetir ayuda no se como hacer en otro foro vi. Que tengo que recorrer todo el datagrid pero no se como ayúdenme... gracias de antemano.

    lunes, 14 de diciembre de 2009 1:27

Todas las respuestas

  • Hola Majo, Lo que yo hago normalmente es crearme dos campos en la tabla. IDCODIGO que sea el indice de la tabla. Será Entero, único y se autoincrementara solo. CODIGO será el número que introduzca el usuario. Después en el Grid solo debe mostrarse el CODIGO. El campo IDCODIGO se autoincrementará cada vez que hagamos un alta en la base de datos y permanece oculto al usuario. Con esto consigues que el indice de la tabla sea único indistintamente del CODIGO que asigne el cliente. Ten en cuenta que posiblemente el cliente duplicará el CODIGO en algun momento, pero tu internamente relacionaras el registro con otras tablas mediante el IDCODIGO. No se si esto te solventará el problema. Un Saludo.
    miércoles, 27 de enero de 2010 9:51
  • Saludo 

    Simplemente debes modificar tu WHERE para que incluya tu otro parámetro y adicionar el nuevo parámetro a la colección de Parameters de tu comando:

    Dim numOrdenBuscada = 10254

       Dim otroParam = 99



     Dim sql As String = "SELECT COUNT(*) FROM Orders WHERE OrderID = @OrderID OR otroParam = @OtroParam"

            Dim cn As New SqlConnection("Data Source = .; Initial Catalog = Northwind; Integrated Security = SSPI")

            Dim cmd As New SqlCommand(sql, cn)

            cmd.Parameters.Add(New SqlParameter("OrderID", numOrdenBuscada))

            cmd.Parameters.Add(New SqlParameter("OtroParam", otroParam))

     

            cn.Open()

     

            Dim numReg As Integer = CInt(cmd.ExecuteScalar())

            If numReg > 0 Then

                MessageBox.Show("El registro ya existe!")

            Else

                'Código para insertar el registro

            End If


    NOTA : SI TE FUEL UTIL MARCALA COMO CORRECTA POR FAVOR GRACIAS ...


    viernes, 12 de febrero de 2010 18:00