Qt存储图片到数据库案例实现

原文地址::https://blog.csdn.net/memory_exception/article/details/74504121?utm_medium=distribute.pc_relevant.none-task-blog-title-1&spm=1001.2101.3001.4242

相关文章

1、qt之数据库对照片的存取----https://www.cnblogs.com/that-boy-done/p/10777054.html

 

Qt存储图片到数据库案例实现是本文要介绍的内容,主要是来学习QT数据库中图片的存储,以下是以Oracle 10G为开发平台运行的测试代码。

//连接DB  
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");  
// QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); // cannot connect  
db.setHostName("192.168.0.123");  
db.setDatabaseName("ORCL");  
db.setUserName("testuser");  
db.setPassword("admin");  
db.setPort(1521);  

if (!db.open())  
{  
printf("打开失败n");  
}  
else  
{  
printf("打开成功n");  

QSqlQuery query;  

//do insert  

//blob  
QByteArray data;  
QString path = "F:/FtpSet/Ftp02/1111111111.JPG";  
QFile* file=new QFile(path); //fileName为二进制数据文件名  
file->open(QIODevice::ReadOnly);  
data = file->readAll();  
file->close();  
QVariant var(data);  

QString sql = "insert into qttest(id,field_blob) values(?,?)";  
query.prepare(sql);  
query.addBindValue(100);  
query.addBindValue(var);  
if(!query.exec())  
{  
printf("[insert error]");  
printf(query.lastError().text().toLocal8Bit().data());  
printf("n");  
}  
else  
{  
printf("[insert ok]n");  
} 
  • 还有一种获取BLOB数据入参的方法在Mysql中运行正常,Oracle中能运行,代码如下:
QByteArray ba;  
QBuffer buffer(&ba);  
buffer.open(QIODevice::ReadWrite);  
QPixmap pixmap(path);  
pixmap.save(&buffer,"JPG");  
QVariant variant(ba); 

小结:Qt存储图片到数据库案例实现的内容介绍完了,希望通过本文的学习能对你有所帮助!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值