sqlite3中的一些PRAGMA语句

本文介绍如何在Qt环境下使用SQLite的PRAGMA语句进行数据库配置和操作优化,包括查询编译选项和调整数据库行为。通过具体示例展示如何执行PRAGMA语句并读取结果。

1.问题原由

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

 

2.参考资料和使用方法

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

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);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值