Subject Re: [IBO] how to scan a database
Author Svein Erling Tysvær
You may find all you want by taking a look at the source for IB_WISQL (if
you've got that available). Here's a simple answer for your two questions.

SELECT rdb$relation_name
FROM rdb$relations
WHERE rdb$Relation_name NOT STARTING 'rdb$'

to get all tables that are not system tables (assuming you have not created
any table starting rdb$).

Getting the field names is even simpler. TIB_Cursor (and I guess TIB_Query)
has a method called GetFieldNamesList which populates a string list.