2009-03-16 5 views

Répondre

15

Juste affecter le paramètre de la valeur DBNull.Value

[EDIT]

Si vous utilisez SqlParameter (merci Jon), vous pouvez le configurer comme celui-ci si elle donne une erreur

parameter.Value = DBNull.Value 
+0

lui donne une conversion problem.can il être résolu par Convert.ToDateTime (DBNull.Value) – Nandini

+0

DBNull.Value ne peut pas être utilisé car il génère une erreur « objet ne peut pas être coulé à partir d'une autre DBNull.Value types " – Nandini

+0

Le code donné devrait être correct, si" parameter "est 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) 

Étant donné que vous avez défini le paramètre nullable, l'erreur disparaîtra. Maintenant, le problème est que .NET passe l'entier nul à 0, donc nous devons faire face à cela.

Chao

+0

Cette ligne ne devrait-elle pas être 'pflt_dateto.SqlValue = DBNull.Value'? J'ai l'erreur: "DBNull est un type et ne peut pas être utilisé comme une expression" sans '.Value' – AllisonC

Questions connexes