Without the code that creates the DataSet I can only guess that you created the DataSet with a DataTable before filling it or that you used a designer to create it, in which case it already has a table.
Instead of checking whether the DataSet has any tables, you should check the return value of DbDataAdapter.Fill. Fill returns the number of rows actually added or updated in the dataset.
You should also consider using SqlDataAdapter instead of OdbcDataAdapter as it is much faster and supports more SQL Server features.