Pasando parametros null a Sql Server


Aquí un pequeño ejemplo de como pasar parámetros null con C# a un stored procedure en sql server:

        public DataTable Consulta(int? id)
        {
            string[] NomParam = new string[] { "id"};
            object[] arg = new object[] { id == null ? System.Data.SqlTypes.SqlInt32.Null : Int32.Parse(id.ToString()) };

            return conn.execSP("spConsula", arg, NomParam);
        }

El parámetro debe declararse con el simbolo “?” que le indica al compilador que puede venir un null en vez de un int. Luego, el tipo de datos es convertido a su equivalente nulo para sql server, de manera que interprete que es un parámetro con valor null y no que falta un parámetro.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s