SQLiteJDBC and PreparedStatement to use pragma table_info

java, sqlexception, sqlite, sqlitejdbc

Solution

NYI means "not yet implemented."

I would guess that the command "pragma table_info" probably can't be executed directly as a prepared statement.

There's an example of executing that pragma statement in the code for the SQLite JDBC driver, class org.sqlite.Metadata, methods such as `getColumns()` and `getPrimaryKeys()`.

I can't excerpt the code and post it here, because doing so would not be compatible with the Creative Commons license used by StackOverflow. So please go to that link and take a look.

Problem

I'm utilizing Java and SQLiteJDBC to work with SQLite. I need to access name of columns for a given table and I've found that I could accomplish this with the following command: ``` pragma table_info(myTable) ``` However, when attempting to do the following I get an error. ``` PreparedStatement _pstmt = this._DBConnection.prepareStatement("pragma table_info( '?' );", new String[] {_tableName} ); ``` java.sql.SQLException: NYI I have no idea what NYI means and furthermore, I'm not sure if I can do what I'm trying to do. Any suggestions on how I can accomplish getting the column names?

Original source