DALに、1つのアイテム、日付をもたらすクエリがあります。日付またはnullのいずれかです。しかし、値がnullの場合、エラーが発生します。
タイプ「DBNull」からタイプ「日付」への変換は無効です。
クエリ
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
保証金が支払われた場合、テーブルに日付がありますが、そうでない場合はnullのままになります。
すべての助けは大歓迎です!