我在 DAL 中有一个查询,结果是 1 个项目,一个日期。它是日期或空值。但是当值为空时我得到一个错误。
从类型“DBNull”到类型“Date”的转换无效。
询问
Public Function GetOrderDepositByOrderID(ByVal OrderID As Integer) As Date
myconn.Open()
Dim date As Date
Dim sql As String = "SELECT ifnull(OrderDeposit, '1900-01-01') FROM Order WHERE OrderID = ?"
Dim cmd As New OdbcCommand(sql, myconn)
cmd.Parameters.AddWithValue("OrderID", OrderID)
date= cmd.ExecuteScalar()
'connectie sluiten
myconn.Close()
Return date
End Function
这就是我调用我的函数的方式。
If bllCust.getOrderDepositByOrderID(OrderID) = DBNull Then
lblBoodschap.Text = ("Deposit not paid.\n")
Else
lblBoodschap.Text = ("Deposit paid.\n")
End If
如果支付了押金,表格中有日期,如果没有,则为空。
欢迎所有帮助!