user3580480 user3580480 - 1 year ago 108 Question

Check if dataset table exists

I have the following code to check if my table exists before proceeding

If ds.Tables(3).Rows.Count = 0 Then
DataGridView1.DataSource = ds.Tables(3)

The trouble is I keep getting the error "Cannot find table 3."

How in VB can I check if the table exists, rather than my application erroring I just want it to do nothing if the table doesn't exist.

I have also tried

If ds is nothing

Any help greatly appreciated.

Answer Source

If you don't know if the DataSet is initialized:

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

If you don't know if it contains four tables(zero based indices):

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

So the final super safe version is:

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

If you now also want to know if that table contains rows:

Dim isEmpty As Boolean = table.Rows.Count = 0
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download