How to determine the name of a table at runtime in Delphi?

I want to be able to determine the names of available tables when my application connects to a database, so that I can populate the list of a combobox and select tables for viewing.  I have tried using  the Datasets and DataSetCount properties as in

for i  := 0 to Datamodule1.MyConnection1.DataSetCount - 1 do
  begin
    if Datamodule1.MyConnection1.DataSets[i] is TTable then
    begin
       tmp := Datamodule1.MyConnection1.Datasets[i].Name;
       cboTables.Items.Add(tmp);
    end;
  end;

but it doesn't work (there are never any items in the list).  I would be grateful if someone would put me on the right track.
Angus_CrossleyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
FactorBCommented:
Which database are you using and which method of connection (BDE, ADO, ...?)

0
 
Angus_CrossleyAuthor Commented:
Sorry, should have included.  MySQL, using the MySQL access components. Delphi 2009.
0
 
twinsoftCommented:
Hi, usually all the DB components have a method in the connection component called GetTableNames. Search for this in the MySQL connection component...
0

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
 
Angus_CrossleyAuthor Commented:
Thank you, got it now and working.
0
 
FactorBCommented:
Something like this

procedure GetTabNam();
begin
    dbMySQL.GetTablesNames(ListBox1.Items);
end;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.