user3580480
user3580480

Reputation: 482

Check if VB.net dataset table exists

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

        If ds.Tables(3).Rows.Count = 0 Then
            MsgBox("Nothing!!!!")
        Else
            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.

Upvotes: 2

Views: 12906

Answers (2)

Chris
Chris

Reputation: 51

See if the dataset contains the table if you are unsure if it exists:

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

Upvotes: 5

Tim Schmelter
Tim Schmelter

Reputation: 460038

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

Upvotes: 3

Related Questions