检查VB.net数据集表是否存在

时间:2015-06-16 09:16:00

标签: vb.net if-statement dataset

我有以下代码来检查我的表是否存在,然后继续

        If ds.Tables(3).Rows.Count = 0 Then
            MsgBox("Nothing!!!!")
        Else
            DataGridView1.DataSource = ds.Tables(3)

问题是我一直收到错误"找不到表3。"

如何在VB中检查表是否存在,而不是我的应用程序错误我只是希望它在表格不存在时什么也不做。

我也试过

If ds is nothing

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

如果您不知道DataSet是否已初始化:

If ds IsNot Nothing Then
    ' ... '
End If

如果您不知道它是否包含四个表(基于零的索引):

If ds.Tables.Count >= 4 Then
        ' ... '
End If

所以最终的超级安全版本是:

If ds IsNot Nothing AndAlso ds.Tables.Count >= 4 Then
    Dim table As DataTable = ds.Tables(3)
End If

如果您现在还想知道该表是否包含行:

Dim isEmpty As Boolean = table.Rows.Count = 0

答案 1 :(得分:1)

如果您不确定数据集是否存在,请查看该数据集是否包含该表:

If mdsMyDataSet1.Tables.Contains("Table3") = True Then
   'Do Something with it
End If