Null ve System.DBNull.Value arasında herhangi bir fark var mı? Eğer evet ise, bu nedir?
Bu davranışı şimdi fark ettim -
while (rdr.Read())
{
if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value)
{
int x = Convert.ToInt32(rdr["Id"]);
}
}
Döndürülen hiçbir değer yoktur gerçi, bir sql DataReader kullanarak veritabanından veri almak iken if(rdr["Id"] != null)döndü trueve sonunda tamsayı olarak bir null döküm için bir istisna attı.
Ama bu if (rdr["Id"] != System.DBNull.Value)iadeleri kullanırsam false.
Null ve System.DBNull.Value arasındaki fark nedir?
System.Data, diğeri ise bir referansın olmadığını gösteren özel bir değerdir. Birbirleriyle hiçbir alakaları yok. Kafanızın ne olduğunu açıklar mısınız? Asıl sorunuz "neden yerine kendi içlerine koyunDataRowsveDataReaderskoyun ?"DBNull.Valuenull