• 4327阅读
  • 1回复

[提问]QT连数据库压缩解压问题 [复制链接]

上一主题 下一主题
离线lippan
 
只看楼主 倒序阅读 楼主  发表于: 2013-01-15
关键词: 数据数据库
<DIV id=read_138100 mb10?>现在问题是能压缩。。。。并存储。。。但从数据库里提取出来的数据好像是压缩后的两倍。。。导致不能解压了。。。。 <DIV mb10?>解压部分 代码<DIV mb10?>query.prepare("select filecontent from files1");
query.setForwardOnly(true);
query.exec();
query.next();
QByteArray  t1data=query.value(0).toByteArray();这里有值  约是压缩后的两倍  
  QByteArray  data1=qUncompress(t1data);这里为0    本来这里要有值的。。。不能匹配 上面的t1data的大小不能解压   求解决方法
离线realfan

只看该作者 1楼 发表于: 2013-01-15
最可能的是入库或出库有问题。先不要压缩,直接入库,再读出来,写成文件,看对不对。

检查query.exec();的返回值是不是true
将query.value(0)先赋到一个QVariant 变量,比如
QVariant  var = query.value(0);
检查一下var的有效性
if(var.isValid ())
{
    //这里再转成bytearray
}
快速回复
限100 字节
 
上一个 下一个