Вы правы. AndAlso
короткое замыкание.
Тем не менее, ошибка возникает из-за вызова CurRow("GuyBook")
(проверьте это в отладчике, чтобы убедиться, что я не лжец, не делаю какие-то сумасшедшие предположения или просто неправильно помню * ;-). Прежде чем запрашивать значение, вам нужно спросить DataRow , имеет ли оно значение . То есть используйте:
CurRow.IsNull("BuyBook")
Удачного кодирования.
* Один должен просто быть в состоянии сравнить с DBNull.Value
или использовать IsDBNull
. Тем не менее, я вполне уверен, что я столкнулся с рядом до того, как это исключение вместо того, чтобы возвращать объект DBNull
. Начните с выяснения - в «Немедленном окне отладчика» - точно , выражение которого выдает исключение.