sqlite3中的一些PRAGMA语句

1.问题原由

需要修改sqlite的一些配置和数据库操作,eg. 查询THREADSAFE等编译选项。但是用的qt封装的QSqlDatabase类。无法执行sqlite源码中的一些原生函数。后面发现可以通过执行PRAGMA的一些语句来达到目的。

 

2.参考资料和使用方法

最一手的资料当然是官方的资料

sqlite3中的一些PRAGMA语句_第1张图片

https://www.sqlite.org/pragma.html

 

3.使用示例,以Qt为例

    QSqlQuery q(QSqlDatabase::database("db"));
    QVERIFY2(q.exec("PRAGMA compile_options"),         
    q.lastError().text().toLatin1().constData());
    bool hasCodec = false;
    while(q.next())
    {
        qDebug() << m_qry->value(0).toString();
    }

//sqlite源码中部分接口函数
SQLITE_API int sqlite3_threadsafe(void);
SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff);

sqlite3中的一些PRAGMA语句_第2张图片

 

 

 

你可能感兴趣的:(Database,Other)