I want to read data from a table whose name is supplied by a user. So before actually starting to read data, I want to check if the database exists or not.
I have seen several pieces of code on the NET which claim to do this. However, they all seem to be work only for SQL server, or for mysql, or some other implementation. Is there not a generic way to do this?
(I am already seperately checking if I can connect to the supplied database, so I’m fairly certain that a connection can be opened to the database.)
You cannot do this in a cross-database way. Generally DDL (that is, the code for creating tables, indexes and so on) is completely different from database to database and so the logic for checking whether tables exist is also different.
I would say the simplest answer, though, would simply be something like:
If that query gives an error, then the table doesn’t exist. If it works (though it’ll return 0 rows) then the table exists.
Be very careful with what you let the user input, though. What’s to stop him from from specifying “sysusers” as the table name (in SQL Server, that’ll be the list of all database users)