2009-03-16 65 views

Respuesta

15

Basta con asignar el parámetro el valor DBNull.Value

[EDIT]

Si está utilizando SqlParameter (gracias Jon), entonces se puede establecer el siguiente si se da cualquier error

parameter.Value = DBNull.Value 
+0

que da una conversión problem.can que ser resuelto por Convert.ToDateTime (DBNull.Value) – Nandini

+0

DBNull.Value no se puede utilizar ya que genera un error de "objeto no se puede lanzar desde DBNull.Value a otro tipos " – Nandini

+0

El código proporcionado debería estar bien, si" parameter "es un SqlParameter. –

0
Dim pflt_dateto As SqlParameter = cmd.CreateParameter 
     pflt_dateto.Direction = ParameterDirection.Input 
     pflt_dateto.DbType = SqlDbType.Int 
     pflt_dateto.IsNullable = True 
     pflt_dateto.ParameterName = "flt_dateto" 

     If String.IsNullOrEmpty(dateto) Then 
      pflt_dateto.SqlValue = DBNull 
     Else 
      pflt_dateto.SqlValue = dateto 
     End If 

     cmd.Parameters.Add(pflt_dateto) 

Como ha configurado el parámetro nulo, el error desaparecerá. Ahora el problema es que .NET pasa un entero nulo como 0, así que tenemos que lidiar con eso.

Chao

+0

¿No debería ser esta línea 'pflt_dateto.SqlValue = DBNull.Value'? Obtuve el error: "DBNull es un tipo y no se puede usar como una expresión" sin '.Value' – AllisonC

Cuestiones relacionadas