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

移动开发
Qt存储图片到数据库案例实现是本文要介绍的内容,主要是来学习QT数据库中图片的存储,具体内容的实现来看本文详解。

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

  1. //连接DB  
  2. QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");  
  3. // QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); // cannot connect  
  4. db.setHostName("192.168.0.123");  
  5. db.setDatabaseName("ORCL");  
  6. db.setUserName("testuser");  
  7. db.setPassword("admin");  
  8. db.setPort(1521);  
  9.  
  10. if (!db.open())  
  11. {  
  12. printf("打开失败n");  
  13. }  
  14. else  
  15. {  
  16. printf("打开成功n");  
  17.  
  18. QSqlQuery query;  
  19.  
  20. //do insert  
  21.  
  22. //blob  
  23. QByteArray data;  
  24. QString path = "F:/FtpSet/Ftp02/1111111111.JPG";  
  25. QFile* file=new QFile(path); //fileName为二进制数据文件名  
  26. file->open(QIODevice::ReadOnly);  
  27. data = file->readAll();  
  28. file->close();  
  29. QVariant var(data);  
  30.  
  31. QString sql = "insert into qttest(id,field_blob) values(?,?)";  
  32. query.prepare(sql);  
  33. query.addBindValue(100);  
  34. query.addBindValue(var);  
  35. if(!query.exec())  
  36. {  
  37. printf("[insert error]");  
  38. printf(query.lastError().text().toLocal8Bit().data());  
  39. printf("n");  
  40. }  
  41. else  
  42. {  
  43. printf("[insert ok]n");  

还有一种获取BLOB数据入参的方法在Mysql中运行正常,Oracle中能运行,代码如下:

  1. QByteArray ba;  
  2. QBuffer buffer(&ba);  
  3. buffer.open(QIODevice::ReadWrite);  
  4. QPixmap pixmap(path);  
  5. pixmap.save(&buffer,"JPG");  
  6. QVariant variant(ba); 

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

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-09-01 15:39:43

QT数据库

2009-05-08 09:17:48

动态数据库图片

2009-07-31 16:09:23

ASP.NET数据库图

2009-06-30 09:16:45

数据库存储JSP文件

2009-08-12 11:04:38

ASP.NET和SQL

2011-07-05 14:46:34

2009-03-23 09:01:00

图片存储数据库JSP

2018-05-17 10:50:34

Cache数据库存储

2011-03-23 11:11:17

图片数据库

2011-06-23 18:37:02

Qt 数据库

2011-06-21 15:11:04

QT 数据库

2011-06-21 15:31:04

Qt 数据库 SQL

2011-06-14 13:43:38

QT 图片

2011-07-13 16:19:54

存储过程SQL Server数

2011-07-05 10:16:16

Qt 数据库 SQLite

2010-08-11 17:06:09

网管软件数据库MXsoft

2019-03-01 13:40:01

MySQL数据库备份案例

2011-07-01 14:06:57

Qt sqlite

2011-07-05 09:54:04

2011-07-05 16:08:10

点赞
收藏

51CTO技术栈公众号