What\'s the difference between or and OrElse?
if temp is dbnull.value or temp = 0
produces the error:
OrElse is short circuited, this means that only one side of the expression will be tested if the first side is a match.
Just like AndAlso will only test one side of the expression if the first half is a fail.