none
Validar datos en C# utilizando una base de datos RRS feed

  • Pregunta

  • Mi pregunta es la siguiente, como puedo validar que un ID no sea el mismo en la base de datos, desde C#, sin necesidad de tener que poner que el campo sea Identity. Gracias
    lunes, 6 de noviembre de 2017 22:55

Respuestas

  • hola

    podrias aplicar una funciona que valide

    public bool Existe(string parametro)  
    
    {  
    
        string sql = @"SELECT COUNT(*) FROM <Tabla> WHERE campo = @param";   
    
        using (SqlConnection conn = new SqlConnection("connection string"))   
        {   
            conn.Open();  
    
            SqlCommand cmd = new SqlCommand(sql, conn);   
    
            cmd.Parameters.AddWithValue("@param", parametro);   
    
            int count = Convert.ToInt32(cmd.ExecuteScalar());   
    
            return count == 0;   
    
        }   
    
    } 

    es importante ver como se usan parametros y ademas el ExecuteScalar() para obtener la respuesta

    aunque es raro validar por id y nombre, deberias validar solo si el nombre existe

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 7 de noviembre de 2017 11:55

Todas las respuestas

  • Si te refieres a sólo validación, la propiedad IDENTITY puesta en una columna sin restricción de unicidad no garantiza datos únicos.

    Si has decidido generar la secuencia por cuenta propia, debes gestionar correctamente la concurrencia, y asegurar la unicidad en la columna mediante una restricción UNIQUE (o un índice único).

    lunes, 6 de noviembre de 2017 23:05
  • Entiendo, pero lo que quiero decir por ejemplo, tengo una tabla en la base de datos llamada Cliente, y tiene 2 campos ID, Nombre, y tiene en esa tabla registros,

    ID Nombre

    1  Leonel

    2  Juan

    Como hago para validar que ya existe el mismo ID o el nombre en la base de datos, desde C#

                                                 

    lunes, 6 de noviembre de 2017 23:11
  • Bajo la forma común que existe para conocer los datos que se encuentran en una tabla: mediante una consulta de selección, que varía en las formas según sea que ocupes ADO .Net o algún ORM.

    - Por ejemplo mediante ADO .NET

    SELECT COUNT(*) FROM TableName WHERE ID = @ID OR Nombre = @Nombre;

    El resultado lo capturas mediante el método ExecuteScalar().

    lunes, 6 de noviembre de 2017 23:40
  • hola

    podrias aplicar una funciona que valide

    public bool Existe(string parametro)  
    
    {  
    
        string sql = @"SELECT COUNT(*) FROM <Tabla> WHERE campo = @param";   
    
        using (SqlConnection conn = new SqlConnection("connection string"))   
        {   
            conn.Open();  
    
            SqlCommand cmd = new SqlCommand(sql, conn);   
    
            cmd.Parameters.AddWithValue("@param", parametro);   
    
            int count = Convert.ToInt32(cmd.ExecuteScalar());   
    
            return count == 0;   
    
        }   
    
    } 

    es importante ver como se usan parametros y ademas el ExecuteScalar() para obtener la respuesta

    aunque es raro validar por id y nombre, deberias validar solo si el nombre existe

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 7 de noviembre de 2017 11:55