【发布时间】:2022-01-01 21:39:28
【问题描述】:
我对 Visual Basic 的了解不如我对 C++ 或 C# 的了解。
我要检查一个选择查询是否在返回的'testDataset`中有任何结果并有一些结果,所以我写了以下语法:
If ((testDataset Is Nothing) Or (testDataset.Tables Is Nothing) Or testDataset.Tables.Count = 0 _
Or (testDataset.Tables.Item(0).Rows Is Nothing) Or (testDataset.Tables.Item(0).Rows.Count = 0) _
Or (testDataset.Tables.Item(0).Rows(0) Is Nothing)) Then
MessageBox.Show("Dataset has no results!", "Database Query Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return False
End If
在 C++ 中,当逻辑 OR 中的表达式为真时,将不处理下一个表达式。但在 Visual Basic 中似乎并非如此。所以我想知道如何检查 Visual Basic 中的多个表达式,如果一个表达式为真,则停止处理下一个表达式。
所以我的问题主要可以分为两个问题:
-
如何使用 OR 来检查多个条件而不处理下一个条件?
-
如何检查 Dataset 是否有结果(至少一行)并且该行中是否存在特定列?
【问题讨论】:
-
虽然你提到了 C++,但它与问题本身并不真正相关,所以我删除了 C++ 语言标签。
-
您要查找的术语是short-circuit evaluation。它可能会帮助您在搜索时找到更好的匹配。
标签: vb.net dataset logical-or