参考:How to Store and Retrieve Image on SQLite
sqlite的BLOB类型对应于QT的QByteArray类型。想将数据以二进制的形式存储在sqlite中,则需要先将数据转成QByteArray。比如存储QString类型数据:
QString strValue = "I'm zqykj!";QByteArray ba;QDataStream out(&ba,qiodevice::writeonly);out.setVersion(QDataStream::Qt_5_5);out << strValue;
通过bindValue的形式将数据写入数据库:
QByteArray ba;Qsqlquery query;QString strsql = "update demo set value = :value where name = :name;";query.prepare(strsql);query.bindValue(":value",ba);query.bindValue(":name","zqykj");query.exec();
读取二进制数据转换为QString:
QString strValue;QByteArray ba;QDataStream in(&ba,qiodevice::Readonly);in.setVersion(QDataStream::Qt_5_5);in >> strValue;总结
以上是内存溢出为你收集整理的QT Sqlite BLOB类型 *** 作全部内容,希望文章能够帮你解决QT Sqlite BLOB类型 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)