válida valores validar utilice tipo que puede net dato convertir conversión acepte .net null dataset dbnull

.net - valores - validar dbnull vb



¿Qué debo usar para comparar DBNull? Usando DBNull.Value o ToString(). IsNullOrEmpty() (4)

Conceptualmente la comparación con DBNull.Value es la correcta.

También puedes usar :

if (Convert.IsDBNull(dr[0])) { }

También puede usar, de lo que no soy un fanático, simplemente porque es una comparación de tipos en lugar de una comparación de valores:

if (dr[0] is DBNull) { }

Puedo verificar un DBnull en una fila de datos usando cualquiera de los métodos.

Ya sea utilizando

if(dr[0][0]==DBNull.Value) //do somethin

o haciendo

if(dr[0][0].ToString().IsNullOrEmpty()) //do something

En ambos casos obtendré el mismo resultado.

Pero cual es el enfoque correcto y conciso. Lo que fue usará menos recursos.


La forma mas sencilla

if (dr[0][0] == DBNull.Value) //do somethin

Es perfectamente válido y legible.

Aunque == compara las referencias, funciona aquí porque DBNUll.Value es la única instancia de la clase DBNull , por lo que todos los valores DBNull son en realidad esta referencia exacta.


La primera forma es algo correcta. Sin embargo, la forma más aceptada es:

if ( dr[0][0] is DBNull )

Y la segunda forma es definitivamente incorrecta. Si usa la segunda forma, se volverá verdadero en dos casos:

  1. Tu valor es DBNull
  2. Tu valor es una cadena vacía

Siempre se usa:

dr[0].IsNull(0)

Suponiendo que los creadores de esta función conocen la mejor manera / la forma más eficiente de comparar ...