Capitulos de este wiki
  1. 1 Introducir valores NULL en SQL Server desde C#

Introducir valores NULL en SQL Server desde C# - Introducir valores NULL en SQL Server desde C#

1 - Introducir valores NULL en SQL Server desde C#

[editar]
Tutorial creado por Patxi Echarte. Extraido de: http://www.eslomas.com/index.php/archives/2005/04/22/introducir-valores-null-sql-server-csharp/
27 de Abril de 2006
Si utilizas SQL Server como sistema de gestión de bases de datos puede que te hayas encontrado alguna vez en la necesidad de utilizar tablas que pueden contener valores null. Generar registros a través del MMC haciendo que esos campos tomen valor null se basa únicamente en no introducir nada en su celda, pero ¿cómo se hace esto cuando estamos programando por ejemplo, una aplicación web?
Una posible solución sería la de no rellenar esa columna en el SQL de inserción, pero aparte de no ser demasiado elegante, seguimos teniendo el problema, ¿qué hacemos si queremos actualizar el registro para pasar un valor de no nulo a nulo?.
En el sigueinte ejemplo se muestra un pequeño fragmento de código en el que se utiliza un comando SQL para insertar un registro en una tabla ficticia de usuarios, formada por una columna para el nombre y otra para una fecha. Dicha tabla se supone creada de forma que la columna de fecha puede aceptar valores nulos.

string query = "INSERT INTO personas( nombre, fecha ) VALUES( @nombre, @fecha );"

SqlConnection sqlConnection = new SqlConnection("user id=sa;password=x;initial catalog=pruebas;data source=127.0.0.1;");
SqlCommand sqlCommand = new SqlCommand(query, sqlConnection);

sqlCommand.Parameters.Add("@nombre", System.Data.SqlDbType.VarChar).Value = "Luke Sky Walker";
sqlCommand.Parameters.Add("@idCitaPrevia", System.Data.SqlDbType.DateTime).Value = System.Data.SqlTypes.SqlDateTime.Null;

sqlConnection.Open();

try{
sqlCommand.ExecuteNonQuery();
}
catch(Exception exc){
throw new Exception("Error al insertar datos", exc);
}
finally{
sqlConnection.Close();
}

Como puede verse en el código se utiliza un parámetro para el campo fecha rellenándolo con un valor nulo, de la forma System.Data.SqlTypes.SqlDateTime.Null. Si la columna fuera de otro tipo, por ejemplo un entero, utilizaríamos System.Data.SqlTypes.Int32.Null. Cada tipo dispone de su propia propiedad que devuelve un valor nulo.

Referencias:

  • MSDN - Handling Null Values
  • C# Corner - Enter Null Values for DateTime Column of SQL Server
[editar]

Sé el primero en opinar


Tutoriales relacionados con 'Introducir valores NULL en SQL Server desde C#'

Si utilizas SQL Server como sistema de gestión de bases de datos puede que te... Más »
Qué son y como funcionan las bases de datos. Trataremos conceptos muy básicos que os... Más »

Autor y licencia de 'Introducir valores NULL en SQL Server desde C#'

De forma general todos los contenidos de este web están sujetos a una licencia del tipo Creative Commons “Algunos derechos reservados”. Salvo que se diga lo contrario la única restricción impuesta si quieres utilizar algo de lo que aparece en este web, es la de indicar que el autor soy yo, Patxi Echarte.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.