当前位置: 代码迷 >> QT开发 >> QT连接数据库兑现大对象存储
  详细解决方案

QT连接数据库兑现大对象存储

热度:52   发布时间:2016-04-25 04:09:22.0
QT连接数据库实现大对象存储
连上了数据库  要求应该是先压缩后存入数据库。。然后从数据库中读取出来。。。我先压缩后存入了数据库然后查询数据解压时数据大小就为0了。。。不知道哪里出错了
query.prepare("select filecontent(二进制文件) from files"); 
    query.exec();
    query.next();
    QString title=query.value(0).toString();
    QMessageBox::information(this,"OK!",qPrintable(title));这里有值
    QByteArray tdata=query.value(0).toByteArray();
    QMessageBox::information(this,"OK421!",qPrintable(QString::number(tdata.size()) ));这里也有值
    QByteArray data=qUncompress(tdata);
    QMessageBox::information(this,"OK421!",qPrintable(QString::number(data.size()) ));这里就是0了 

------解决方案--------------------
大对象多大?

100MB ?

我这里十几MB的试过没问题,再大没试过了
------解决方案--------------------
QByteArray qUncompress ( const QByteArray & data )
解压之后产生一个新的bytearray返回。
  相关解决方案