Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLiteJDBC和PreparedStatement使用pragma table_info_Java_Sqlite_Sqlexception_Sqlitejdbc - Fatal编程技术网

Java SQLiteJDBC和PreparedStatement使用pragma table_info

Java SQLiteJDBC和PreparedStatement使用pragma table_info,java,sqlite,sqlexception,sqlitejdbc,Java,Sqlite,Sqlexception,Sqlitejdbc,我正在使用Java和SQLite。我需要访问给定表的列名称,我发现我可以通过以下命令完成此操作: pragma table_info(myTable) 然而,当尝试执行以下操作时,我得到一个错误 PreparedStatement _pstmt = this._DBConnection.prepareStatement("pragma table_info( '?' );", new String[] {_tableName} ); java.sql.SQLExce

我正在使用Java和SQLite。我需要访问给定表的列名称,我发现我可以通过以下命令完成此操作:

pragma table_info(myTable)
然而,当尝试执行以下操作时,我得到一个错误

PreparedStatement _pstmt =
    this._DBConnection.prepareStatement("pragma table_info( '?' );",
         new String[] {_tableName} );
java.sql.SQLException:NYI

我不知道NYI是什么意思,而且,我也不确定我是否能做我想做的事情。关于如何获取列名有什么建议吗?

NYI的意思是“尚未实现”

我猜命令“pragma table_info”可能不能作为一个准备好的语句直接执行

在SQLite JDBC驱动程序、类、方法(如
getColumns()
getPrimaryKeys()
)的代码中有一个执行该pragma语句的示例


我不能摘录代码并将其发布在这里,因为这样做与StackOverflow使用的CreativeCommons许可证不兼容。因此,请转到该链接并查看。

这里有以下代码摘录:

我猜NYI的意思是“尚未实施”

如果布拉格语的事情不成功

sqlite> CREATE TABLE a(col1, col2, col3);
sqlite> CREATE TABLE b(w, x, y, z);
sqlite> SELECT * FROM sqlite_master;
table|a|a|2|CREATE TABLE a(col1, col2, col3)
table|b|b|3|CREATE TABLE b(w, x, y, z)

sqlite> SELECT sql FROM sqlite_master;
CREATE TABLE a(col1, col2, col3)
CREATE TABLE b(w, x, y, z)

您可以从
sqlite\u master
表中获取实际的列定义,然后自己解析出来。

我查看了代码,明白了您的意思。非常感谢。
sqlite> CREATE TABLE a(col1, col2, col3);
sqlite> CREATE TABLE b(w, x, y, z);
sqlite> SELECT * FROM sqlite_master;
table|a|a|2|CREATE TABLE a(col1, col2, col3)
table|b|b|3|CREATE TABLE b(w, x, y, z)

sqlite> SELECT sql FROM sqlite_master;
CREATE TABLE a(col1, col2, col3)
CREATE TABLE b(w, x, y, z)