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

来源:互联网 发布:编程语言实现模式 pdf 编辑:程序博客网 时间:2024/05/21 06:30

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存储图片到数据库案例实现的内容介绍完了,希望通过本文的学习能对你有所帮助!

原创粉丝点击