Search code examples
javasqlitesqlexceptionsqlitejdbc

SQLiteJDBC and PreparedStatement to use pragma table_info


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?


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.