0

私は C++ や C# ほど Visual Basic を知りません。

選択クエリが返された '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 でいくつかの式をチェックし、次の式の処理を停止する方法を知りたいです。

だから私の質問は主に2つの質問として尋ねることができます:

  1. 次の条件を処理せずに OR を使用して複数の条件を確認するにはどうすればよいですか?

  2. データセットに結果 (少なくとも 1 つの行) があり、特定の列がその (少なくとも 1 つの) 行に存在するかどうかを確認するにはどうすればよいですか?

4

3 に答える 3

1

これは - おそらく - 正確な答えではありませんが、一般的なアドバイスです...

データセットからデータを読み取るときにエラーをキャッチする最短の方法は、コードをTry...Catch..Finallyブロックに入れることです。

Dim bRetVal As Boolean = True
Try
   'your code to read data
Catch ex As Exception
    MessageBox.Show("Something went wrong..." & vbCrLf  & vbCrLf & ex.Message, "Error while reading data", MessageBoxButtons.OK, MessageBoxIcon.Error)
    bRetVal = False
Finally
  Return bRetVal
于 2021-11-23T12:05:30.943 に答える