我试图捕获表中的字段,但即使表为空,我也需要获取该数据。在empy表中的SQLite列名C
sqlite3_table_column_metadata
不是一个选项(它没有编译到我的SQLite3版本)。
获取该信息有诀窍吗?
我试图捕获表中的字段,但即使表为空,我也需要获取该数据。在empy表中的SQLite列名C
sqlite3_table_column_metadata
不是一个选项(它没有编译到我的SQLite3版本)。
获取该信息有诀窍吗?
如果你在本地运行你可以下载源代码和编译你喜欢的任何选项。但是,如果这不是一个选项,还有几种方法可以获取元数据。
您可以查询sqlite_master表,但数据不是可能的最友好形式。
select sql
from sqlite_master
where type='table' and name='your-table-name';
该查询将返回CREATE TABLE
语句。预计格式化意外。
如果您可以从c界面发出“点”命令,您可以打开列标题,然后查询任何表。这是从sqlite提示符看起来的样子。
sqlite> .headers on
sqlite> select * from file_stats;
date|file_id|num_lines
有没有简单的方法来获取数据类型只是通过列名。除非表中有数据,否则typeof()函数不会返回任何内容。
我打算加入pragma table_info()函数,但是Trevor打败了我。我不知道你是否可以从c api发布杂注语句。
谢谢。但我已经完成了使用sqlite3_prepare和之前的步骤功能,所以我可以得到sqlite3_column_decltype,sqlite3_column_count,sqlite3_column_name表中的细节。 – Freaktor 2011-04-21 03:17:31