SqlDataReader.IsDBNull(Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si la columna contiene valores no existentes o que faltan.
public:
override bool IsDBNull(int i);
public override bool IsDBNull (int i);
override this.IsDBNull : int -> bool
Public Overrides Function IsDBNull (i As Integer) As Boolean
Parámetros
- i
- Int32
Índice de la columna de base cero.
Devoluciones
true
si el valor de columna especificado es equivalente a DBNull; de lo contrario, false
.
Implementaciones
Comentarios
Llame a este método para comprobar si hay valores de columna null antes de llamar a los métodos get con tipo (por ejemplo, GetByte, GetChar, etc.) para evitar generar un error.
using Microsoft.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
using (var connection = new SqlConnection(@"Data Source=(local);Initial Catalog=AdventureWorks2012;Integrated Security=SSPI"))
{
var command = new SqlCommand("SELECT p.FirstName, p.MiddleName, p.LastName FROM HumanResources.Employee AS e" +
" JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID;", connection);
connection.Open();
var reader = command.ExecuteReader();
while (reader.Read())
{
Console.Write(reader.GetString(reader.GetOrdinal("FirstName")));
// display middle name only of not null
if (!reader.IsDBNull(reader.GetOrdinal("MiddleName")))
Console.Write(" {0}", reader.GetString(reader.GetOrdinal("MiddleName")));
Console.WriteLine(" {0}", reader.GetString(reader.GetOrdinal("LastName")));
}
connection.Close();
}
}
}