过去几个小时我一直在挣扎,但仍然无法解决这个问题。我遇到的问题是,当有人被承认数据库更新给他们 BedID 时,当我尝试释放他们时,我似乎无法将 BedID (在数据库中)设置为 Nothing 。这是一个问题,因为我需要能够接纳和解雇尽可能多的人。
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
谢谢!
最佳答案
在读取值之前,您需要执行 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 函数来防止此错误
关于vb.net - 未为类型 '=' 和类型 'DBNull' 定义运算符 'Integer',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071869/