过去几个小时我一直在苦苦挣扎,仍然无法理解这一点。我遇到的问题是当有人被录取数据库更新给他们BedID时,当我尝试释放他们时,我似乎无法将BedID(在数据库中)设置为空。这是一个问题,因为我需要能够尽可能多地接纳和解雇人员。
Sub Dis1_Click(ByVal s As Object, ByVal e As EventArgs) Handles Dis1.ServerClick
Dim time As String = Now().ToString("dd-MM-yyyy hh:mm:ss")
sql = "UPDATE Allocation SET BedID = NULL , DischargeDate =" + "'" + time + "'" + " WHERE BedID = 1 "
cmd = New OdbcCommand(sql, cn)
cmd.ExecuteNonQuery()
End Sub
Sub BedCheck1()
If r("BedID") = "" Then
Else
If r("BedID") = 1 Then
ba = s & "<tr><td>" & r("Surname") & "</td>" & "<td>" & r("Forename") & "/<td>" & "<td>" & r("AdmitDate") & "</td>" & "<td>" & r("DischargeDate") & "</td>" & "<td>" & r("comments") & "</td></tr>"
End If
End If
End Sub
谢谢!
答案 0 :(得分:17)
在阅读值之前,您需要进行DbNull检查:
If Not IsDbNull(r("BedID")) Then
If r("BedID") = "" Then
Else If r("BedID") = 1 Then
ba = s & "<tr><td>" & r("Surname") & "</td>" & "<td>" & r("Forename") & "/<td>" & "<td>" & r("AdmitDate") & "</td>" & "<td>" & r("DischargeDate") & "</td>" & "<td>" & r("comments") & "</td></tr>"
End If
End If
请注意,DbNull是一种特殊情况,您需要使用IsDbNull函数来防止此错误
答案 1 :(得分:0)
那么,在检查数据验证之前,您需要检查它是否为DB null。
If Not IsDbNull(r("BedID")) Then
your code
End if
答案 2 :(得分:0)
尝试一下: 如果r(“ BedID”)。ToString =“”那么
如果结束