none
COMO PUEDO VALIDAR UN NOMBRE DE UN CLIENTE A LA BASE DE DATOS SQLSERVER RRS feed

  • Pregunta

  • kiero validar al cliente  ke me muestre un mensaje ke ese cliente ya asido registrado

    TENGO UNA TABLA CLIENTES

    EN SQLSERVER

    CREATE TABLE   CLIENTES

    (

    CODIGO CHAR(10)PRIMARY KEY,

    CLIENTE  VARCHAR(50)

    )

    GO

    EN VISUALNET 2008   TENGO   UN FORMULARIO

    Y DOS CAJA DE TEXTO Y EL BOTON GUARDAR

    KIERO GUARDAR UN CLIENTE   A LA BASE DE DATOS 

    LUEGO KIERO GUARDAR OTRO CLIENTE  ALA BASE DE DATOS 

    PERO QUE NO SE REPITA  EL MISMO NOMBRE DEL CLIENTE  ANTERIOR

    AL GUARDAR   KE ME MUESTRE UN MENSAJE DICIENDO KE YA  ESE CLIENTE

    YA ASIDO REGISTRO

    KE ME VALIDA UN MENSAJE 

    me pueden ayudar amigo

    gracias amigo   

    saludos   a todo el mundo amigos  mil gracias

    • Cambiado Enrique M. Montejo miércoles, 10 de agosto de 2016 18:09 Pregunta relacionada con el acceso a datos.
    jueves, 30 de mayo de 2013 5:57

Todas las respuestas

  • hola

    lo primero que puedo comentar es que no escribas con mayuscula porque esto quiere decir que estas gritando y no queda bien

    bueno para poder validar si existe podrias usar

    [ADO.NET] Parte 5 - Ejemplos Simples Operaciones CRUD

    analiza el metodo Exists() en el ejemplo, como se realiza el ExecuteScalar() para validar si hay registros previos con el filtro que asignas, esto permite determinar si hay o no registros existente

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 6:15
  • amigo

    me sale

    error

    puedes escribir tu los codigo akii amigo

    leandro 

    mil gracias bendiciones  ayudame si

    jueves, 30 de mayo de 2013 6:17
  • hola

    me sale error

    podrias mencionar cual serie ese mensaje de error ?

    y que codigo has implementado


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    jueves, 30 de mayo de 2013 6:19
  • solo kiero  que cuando yo guarde a la base de datos sqlserver

    desde mismo visual.net 

    cuando yo guarde ke me vote un mensaje diciendo ke

    ese  cliente ya asido registrado

    osea ke no se registrate otra ves el mismo nombre  completo de ese cliente

    porque ya asido registrado   en la base de datos

    kiero kiero un mensaje ke me vote   y  que no guarde  a ese cliente

    solo eso

    ayudame  amigo

    jueves, 30 de mayo de 2013 6:22
  • cuando yo guarde ke me vote un mensaje diciendo ke ese  cliente ya asido registrado

    analizaste el codgo del articulo ? porque alli justamente lo que valido es esto que planteras

    si revisas el articulo alli esta la respuesta

    ademas comentaste que obtienes un error, pero no veo que mencionaras ninguno, o sea estas implementando algo o era mentira que tenias un error?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 6:26
  • por ejemplo

     yo ingreso un datos  llamado de cliente

     pedro marino  lo guardo   a la base de datos sqlserver

    luego  registro otro cliente    llamado    

    rogelio    lo guardo a la base de datos

    luego kiero guardar    al cliente

    pedro marino      y kiero ke me muestre un  mensaje ke me diga  ke ese cliente ya asido guardado   y ke no me lo guarde a ese cliente

    solo kiero eso   amigo  ayudame

    sii  gracias  

    jueves, 30 de mayo de 2013 6:29
  • amigo e codificadoo

    o modificado igual me sale error no guardar nada ni sale mensaje nada porke

    jueves, 30 de mayo de 2013 6:31
  • si ya has explicado lo que quieres lograr, eso quedo claro

    pero no mencionas como lo estas realizando, que codigo estas implemetnado para aplciar la validacion ?

    dices "no guardar nada", pero como puede ser esto si es que al ingresar info en elo textbox estas registrando, o lo simo estas obteniendo un error de clave duplicada

    vuelvo a preguntar analizaste el ejemplo del articulo? en concreto el metodo Exists() porque es exacto lo que tienes que implementar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 6:34
  • no ke muestre  guarde  el  datos del cliente   osea su nombre

    por el nombre que lo no guarde  ke me diga ya asido guardado ese cliente

    anteriormente ke me vote un mesaje  y ke no lo guarde

    solo eso queria yo

    ayudame  gracias

    jueves, 30 de mayo de 2013 6:36
  • mejor interpreta tu codigo kisas en tu codigo lo enteder bien si gracias

    jueves, 30 de mayo de 2013 6:36
  • quizas podrias suar algo como ser

    Private Function Exists(codigo As string) As Boolean
    
           Dim sql As String = "SELECT COUNT(*) " & _
                               "FROM CLIENTES " & _
                               "WHERE codigo = @codigo"
    
    
    	Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
    		conn.Open()
    		
    		Dim command As New SqlCommand(sql, conn)
    		command.Parameters.AddWithValue("@codigo", codigo)
    
    		Dim count As Integer = Convert.ToInt32(command.ExecuteScalar())
    
    		If count = 0 Then
    			Return False
    		Else
    			Return True
    		End If
    	End Using
    	
    End Function	


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 6:36
  • tu codigo es mas efectivo amigo
    jueves, 30 de mayo de 2013 6:36
  • pero el mensaje donde lo pongo

    jueves, 30 de mayo de 2013 6:37
  • ConfigurationManager     este codigo me sale error no reconoce
    jueves, 30 de mayo de 2013 6:40
  • ese codigo pertenece al  vb.net 2010
    jueves, 30 de mayo de 2013 6:40
  • mejor interpreta tu codigo kisas en tu codigo lo enteder bien si gracias

    pero el articulo que habia propuesto es codigo que yo mismo cree y explico

    no se porque te cuesta tanto analziar un articulo y tratar de entenderlo? digo alli hasta esta mejor explciado y puedes descargar el codigo completo para verlo en conjunto como funciona


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 6:40
  • tampoco funciona el programa ke  me diste amigo
    jueves, 30 de mayo de 2013 6:41
  • el ConfigurationManager puedes o no usarlo, segun de donde tomes el connection string

    me pregunto, sabers lo que es el connection string, no ?

    si lo tomas del app.config entonces referencia al System.Configuration y define el Imports para suar la clase y asi tomar la cadena de conxion de alli

    sino quta esa parte y define como lo estes realizando

    Using conn As New SqlConnection("aqui conection string")

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 6:44
  • ConfigurationManager     este codigo me sale error no reconoce

    Agrega la referencia a System.Configuration a tu proyecto

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 6:47
  • igual me sale eror  no reconoce ese codigo yo uso el vb.net 2008   me sale error igual amigos
    jueves, 30 de mayo de 2013 6:54
  •  Private Function Exists(ByVal codigo As String) As Boolean

            Dim sql As String = "SELECT COUNT(*) " & _
                                "FROM CLIENTES " & _
                                "WHERE razon= @razon"


            Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
                conn.Open()

                Dim command As New SqlCommand(sql, conn)
                command.Parameters.AddWithValue("@razon", codigo)

                Dim count As Integer = Convert.ToInt32(command.ExecuteScalar())

                If count = 0 Then
                    Return False
                Else
                    Return True
                End If
            End Using

        End Function

    boton guardar

    '''''' aquiii  esta   el codigo principal amigooo
            Dim exists As String


            exists = TXTRAZON.Text



            MsgBox("el cliente ya asido registrado anteriormente", "erorr")
            Try



                Dim cn As New SqlConnection("server=.\sqlexpress;database=venta;integrated security=true")

                Dim da As New SqlDataAdapter("select razon  from clientes where razon not in (select razon from clientes)", cn)

                Dim ds As New DataSet

                da.Fill(ds, "clientes")


                MsgBox("El Cliente ya asido Registrado", "Verificar")



            Catch ex As Exception

            End Try








            Dim XG As Integer


            If TXTRUC.Text = "" Or TXTRAZON.Text = "" Or TXTDIRECCION.Text = "" Or TXTTELEFONO.Text = "" Or CBODISTRITO.Text = "" Then


                MsgBox("Inserta los Datos Correspondientes", MsgBoxStyle.Information, "Verificar")

            Else

                XG = ObjFactura.AgregarFactura("SP_GUARDAR_CLIENTES", Me.TXTCODIGO.Text, Me.TXTRAZON.Text, Me.TXTDIRECCION.Text, Me.CBODISTRITO.SelectedValue, Me.TXTRUC.Text, Me.TXTTELEFONO.Text)

                MsgBox("asido grabado los datos del Proveedor", MsgBoxStyle.Information, "Satifactoriamente")

                TXTRAZON.Focus()
                Call BORAR_CONTROL()

                '''''''''''''''''''''
                'Call listado_clientes()

            End If


            'Button1.Enabled = True


            '''''''''''''''''

            'listado_clientes()
            Call BORAR_CONTROL()
            'Call contar()

            Call correlativo()


            '''''''''''''''''''''
            'Call listado_clientes()




        End Sub

    kiero  que no guardar  al mismo cliente   por su  razon  

    que no guarde y ke vote un mensaje 

    solo kiero eso amigos  si gracias mil gracias ayudeme

    jueves, 30 de mayo de 2013 7:00
  • y donde usas el metodo Exists() ? porque no lo veo en ningun lado

    imagino que no es esto

    Dim exists As String

      exists = TXTRAZON.Text

    no ?

    ----

    el metodo se usa de esta forma

    If Exists(TXTRAZON.Text) Then

        Messagebox.Show("ya existe")

        Return

    End If

    Nota: lo que quieres lograr ya quedo claro no tienes que volver a mencionarlo

    Nota2 : cuando dice que hay un error recuerda mencionar cual es ese mensaje que recibes y si puede detectar en que lines tambien ayuda

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 7:06
  • me sale erro

    aqui

     Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())

    me dice el mensaje  la  referencia de objeto no establecida como instancia de un objeto

    asii me sale de error

    amigo ayudame

    jueves, 30 de mayo de 2013 7:12
  • me dice el mensaje  la  referencia de objeto no establecida como instancia de un objeto

    pero agregaste un archivo de configuracion ? osea tiene un App.config

    y dentro de este defines el xml que contendra la cadena de conexion a la db

    si analizas el articulo que puse al principio esto lo veras definido y podras suar de guia como lo tienes que realizar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 30 de mayo de 2013 7:13
  •     Dim Conn As New SqlConnection("Server=.\SQLEXPRESS;Database=VENTA;INTEGRATED SECURITY=TRUE")

     Private Function Exists(ByVal razon As String) As Boolean

            Dim sql As String = "SELEC count(*) FROM CLIENTES WHERE razon= @razon"


            Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
                conn.Open()

                Dim command As New SqlCommand(sql, conn)
                command.Parameters.AddWithValue("@razon", razon)

                Dim count As Integer = Convert.ToInt32(command.ExecuteScalar())

                If count = 0 Then
                    Return False
                Else
                    Return True
                End If
            End Using

        End Function

    boton guardar

            If Exists(TXTRAZON.Text) Then

                MsgBox("ya existe")

                Return

            End If


            Try



                Dim cn As New SqlConnection("server=.\sqlexpress;database=venta;integrated security=true")

                Dim da As New SqlDataAdapter("select razon  from clientes where razon not in (select razon from clientes)", cn)

                Dim ds As New DataSet

                da.Fill(ds, "clientes")


                MsgBox("El Cliente ya asido Registrado", "Verificar")



            Catch ex As Exception

            End Try








            Dim XG As Integer


            If TXTRUC.Text = "" Or TXTRAZON.Text = "" Or TXTDIRECCION.Text = "" Or TXTTELEFONO.Text = "" Or CBODISTRITO.Text = "" Then


                MsgBox("Inserta los Datos Correspondientes", MsgBoxStyle.Information, "Verificar")

            Else

                XG = ObjFactura.AgregarFactura("SP_GUARDAR_CLIENTES", Me.TXTCODIGO.Text, Me.TXTRAZON.Text, Me.TXTDIRECCION.Text, Me.CBODISTRITO.SelectedValue, Me.TXTRUC.Text, Me.TXTTELEFONO.Text)

                MsgBox("asido grabado los datos del Proveedor", MsgBoxStyle.Information, "Satifactoriamente")

                TXTRAZON.Focus()
                Call BORAR_CONTROL()

                '''''''''''''''''''''
                'Call listado_clientes()

            End If


            'Button1.Enabled = True


            '''''''''''''''''

            'listado_clientes()
            Call BORAR_CONTROL()
            'Call contar()

            Call correlativo()


            '''''''''''''''''''''
            'Call listado_clientes()




        End Sub

    ayudame por favorr

    jueves, 30 de mayo de 2013 7:14
  • ya agregue el archivo  system configuar

    fui  a   proyecto

        agregar referencia 

     buske el archivo  system configuar

    y tambien  codigo  

    Imports System.Data.SqlClient
    Imports System.Configuration
    Imports VB = Microsoft.VisualBasic

    jueves, 30 de mayo de 2013 7:16
  • Tu error esta aqui

    'Aqupi declaras e inicializas la Variable SqlConncection
    Dim Conn As New SqlConnection("Server=.\SQLEXPRESS;Database=VENTA;INTEGRATED SECURITY=TRUE")
    
    Private Function Exists(ByVal razon As String) As Boolean
    
    Dim sql As String = "SELEC count(*) FROM CLIENTES WHERE razon= @razon"
    
    'Aquí vuelves a Declarar una nueva variable
    Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
    conn.Open()

    Corrije así:

    Private Function Exists(ByVal razon As String) As Boolean
    
    Dim sql As String = "SELEC count(*) FROM CLIENTES WHERE razon= @razon"
    
    Using conn As New SqlConnection("Server=.\SQLEXPRESS;Database=VENTA;INTEGRATED SECURITY=TRUE")
    conn.Open()

    Es decir, quita la Declaración de la Variable a nivel Classe y la declaras e inicializas usando el Using As New, deberías estudiar más lo básico de VB Net para que puedas comprender el Código, no es solo copiar y pegar, hay que comprender lo que estás pegando.

    jueves, 30 de mayo de 2013 7:51
  • no tiene nada ke ver con la variable

    igual lo elmine la variable  conn

    y sale error 

    jueves, 30 de mayo de 2013 8:00
  • la estructura del codigo esta bien si piensa ke algo esta faltando hay 

    jueves, 30 de mayo de 2013 8:00
  • Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString()) conn.Open()

    eso me sale error diciendo ke no ha referencia exitente

    jueves, 30 de mayo de 2013 8:01
  •  a ver...

    Puedes mostrarnos tu app.config??

    ConfigurationManager.ConnectionStrings("default").ToString()) --> te da error por que no tienes definida ninguan cadena de conexion en app.config con el nombre default


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 8:17
  • dime donde busco  ese app.config

    donde esta eso en que lugar amigoo  dime

    jueves, 30 de mayo de 2013 13:33
  • Imports System.Data.SqlClient
    Imports System.Configuration
    Imports VB = Microsoft.VisualBasic


    Private Function Exists(ByVal razon As String) As Boolean

            'Try

            Dim sql As String = "SELECT COUNT(*) " & _
                              "FROM CLIENTES " & _
                              "WHERE razon=@razon"

            Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
                conn.Open()

                Dim command As New SqlCommand(sql, conn)
                command.Parameters.AddWithValue("@razon", razon)

                Dim count As Integer = Convert.ToString(command.ExecuteScalar())

                If count = 0 Then
                    Return False
                Else
                    Return True
                End If
            End Using

            'Catch ex As Exception

            'End Try


        End Function


    boton grabar


        '''''' aquiii  esta   el codigo principal amigooo
           
            If Exists(TXTRAZON.Text) Then

                MsgBox("ya existe", MsgBoxStyle.Information, "El Cliente")

                Return

            End If

     


            Try



            Catch ex As Exception

            End Try






            Dim XG As Integer


            If TXTRUC.Text = "" Or TXTRAZON.Text = "" Or TXTDIRECCION.Text = "" Or TXTTELEFONO.Text = "" Or CBODISTRITO.Text = "" Then


                MsgBox("Inserta los Datos Correspondientes", MsgBoxStyle.Information, "Verificar")

            Else

                XG = ObjFactura.AgregarFactura("SP_GUARDAR_CLIENTES", Me.TXTCODIGO.Text, Me.TXTRAZON.Text, Me.TXTDIRECCION.Text, Me.CBODISTRITO.SelectedValue, Me.TXTRUC.Text, Me.TXTTELEFONO.Text)

                MsgBox("asido grabado los datos del Proveedor", MsgBoxStyle.Information, "Satifactoriamente")

                TXTRAZON.Focus()
                Call BORAR_CONTROL()

                '''''''''''''''''''''
                'Call listado_clientes()

            End If


    me sale errorr   este  amigooo  akiiii  ayudamee akiii por favorcito

    Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())

    jueves, 30 de mayo de 2013 13:48
  • Claro que tiene que ver lo de las Variables, si a nivel de Classe defines la Variable con la Cadena de Conección, debes usar esa variable en lugar de declararla de nuevo, o si la declaras de nuevo verifica que la cadena de coneccion sea correcta, el App.Config es un archivo que agregas al proyecto, pero si estas Escribiendo directamente la Cadena de Conección en el Código, usa esa cadena y no pongas lo del App.Config. Es lógico q marque error xq si no tienes un archivo App.Config pues no va a encontrar "qué leer" o de dónde extraer la Cadena de Conección, ejecutalo paso a paso o pon un punto de interrupción antes de donde te marca el error y señala las variables para que verifiques los valores que estan tomando.
    jueves, 30 de mayo de 2013 15:37
  • tienes un ejemplo a pp confi   para yo guiarme  algo practico directo al problema mio

    claro saludos   ayudame si

    jueves, 30 de mayo de 2013 17:13
  • Revisa este enlace. Estudialo bien http://es.scribd.com/doc/17214628/Cadena-De-Conexion-Appconfig-en-Visual-BasicNet

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 17:17
  • es  configurado  la conexion en  appconfig 

    me sale erorr  en         <connectionStrings>

    ayudamenn por favor

    -----------------------------------------------------------------

    <configuration>
        <configSections>
        </configSections>
     
        <system.diagnostics>


        <connectionStrings>


          <add name="conn" connectionString="Server=user\SQLEXPRESS;INTEGRATED SECURITY=TRUE;Database=VENTA"/>
               
               </connectionStrings>
    --------------------------------------------------------------------------------------

    jueves, 30 de mayo de 2013 18:08
  • Tiene que ser como esto

    <configuration>
        <connectionStrings>
          <clear />
          <add name="conn" 
           connectionString="connectionString="Server=user\SQLEXPRESS;INTEGRATED SECURITY=TRUE;Database=VENTA" />
        </connectionStrings>
      </configuration


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 30 de mayo de 2013 18:34
  • aver voy probarlo si
    viernes, 31 de mayo de 2013 0:28
  • pero todavia salee bastante errores   tu codigo me sale errores  bastante

    viernes, 31 de mayo de 2013 0:37
  • Entonces los que estamos mal somos nosotros?

    Estudia un poco mas para que comprendas los Códigos de ejemplo, mientras no comprendas sobre declaración de Variables y su inicializacion, puntos de interrupción, Depuración paso a paso, etc... vá a ser muy difícil que alguien pueda ayudarte, aquí te respondieron muchas veces en donde está tu error (porque no es NUESTRO error, es tuyo, solo tuyo), no querrás que te hagamos el trabajo, o si?

    viernes, 31 de mayo de 2013 2:07
  • bueno amigo  ya lo resolvi 

    saludos

    viernes, 31 de mayo de 2013 15:22
  • gracias nos vemos.
    viernes, 31 de mayo de 2013 15:22