2009-03-16 11 views

Odpowiedz

15

wystarczy przypisać parametr wartość DBNull.Value

[EDIT]

Jeśli używasz SqlParameter (dzięki Jona), wówczas można ustawić go tak, jeśli to daje żadnego błędu

parameter.Value = DBNull.Value 
+0

daje konwersji problem.can być rozwiązany przez Convert.ToDateTime (DBNull.Value) – Nandini

+0

DBNull.Value nie mogą być stosowane jako generuje błąd „obiekt nie może być odlany z DBNull.Value do innych typy " – Nandini

+0

Podany kod powinien być w porządku, jeśli" parametr "jest parametrem 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) 

Ponieważ ustawisz parametr zerowy, błąd zniknie. Problem polega na tym, że .NET przekazuje zerową liczbę całkowitą jako 0, więc musimy sobie z tym poradzić.

Chao

+0

Czy ta linia nie powinna być 'pflt_dateto.SqlValue = DBNull.Value'? Dostałem błąd: "DBNull jest typem i nie może być używane jako wyrażenie" bez '.Value' – AllisonC

Powiązane problemy