qt之数据库对照片的存取
需要确保数据库连接上 QOCI为驱动
//oracle 数据库连接 //需要在执行文件目录添加 oci.dll oraociei11.dll
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("192.3.8.105");//数据库主机
db.setPort(1521);
db.setDatabaseName("ORCL");//数据库服务名
db.setUserName("RWGH");//数据库用户名
db.setPassword("rwgh");//密码
bool ok = db.open();
qDebug()<<ok;
if(1)
{
//将照片以二进制流的方式存到数据库
QPixmap pixmap("./image/test.png");
QByteArray byteArray = QByteArray();
QBuffer buffer(&byteArray);
buffer.open(QIODevice::WriteOnly);
pixmap.save(&buffer,"png",0);
QString str = QString("22");//图片ID
//插入数据库 TEST_PIC为数据库表明 CONTENT为存储照片字段 为Blob类型
QString strQSL = QString("insert into TEST_PIC(ID,CONTENT) values('%1',?)").arg(str);
QSqlQuery query;
query.prepare(strQSL);
query.addBindValue(byteArray);
query.exec();
}
if(1)
{
//从数据库读取照片
QByteArray byteText;
QString strsql = QString("select CONTENT,ID from TEST_PIC");
QSqlQuery query;
query.exec(strsql);
while (query.next()) {
byteText = query.value(0).toByteArray();
QString id = query.value(1).toString();
QPixmap pix;
pix.loadFromData(byteText,"png");
pix.save(QString("./test2.png"));//保存从数据库读取的照片到本地
}
}
qt之数据库对照片的存取的更多相关文章
- 在Jena框架下基于MySQL数据库实现本体的存取操作
在Jena框架下基于MySQL数据库实现本体的存取操作 转自:http://blog.csdn.net/jtz_mpp/article/details/6224311 最近在做一个基于本体的管理系统. ...
- QT 操作数据库
整理一下 QT 操作数据库的一些要点,以备以后的查询学习(主要是操作 mysql ). 首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证: #include <QtCore/QCo ...
- qt 5 数据库操作(mysql)
其实大家都知道,QT5以上的都自带了数据库驱动,所以呢,基本上可以直接使用,于是如果想知道怎么连接数据库,请参考这位大神写的.http://qtdebug.com/DB-AccessMySQL.htm ...
- 界面编程之QT的数据库操作20180801
/*******************************************************************************************/ 一.数据库连 ...
- Qt编写数据库通用翻页demo(开源)
在Qt与数据库结合编程的过程中,记录一多,基本上都需要用到翻页查看记录,翻页有个好处就是可以减轻显示数据的表格的压力,不需要一次性将数据库表的记录全部显示,也基本上没有谁在一页上需要一次性显示所有记录 ...
- QT链接数据库
在介绍QT与数据的链接问题上,我在这里就不介绍关于QT环境与mysql.sqlite3环境的安装步骤了,以下的所有的操作都是建立在你已经安装了所有环境的基础上的.好的,那我们就具体来看一看QT环境中怎 ...
- 【转载】QT MySQL数据库操作总结
转载自http://blog.chinaunix.net/uid-28194872-id-3631462.html #include <QtSql> QT += sqlQSqlDataba ...
- 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
QSqlTableModel类继承至QSqlQueryModel类,该类提供了一个可读写单张SQL表的可编辑数据模型,功能:修改,插入,删除,查询,和排序 常用函数 QVariant headerDa ...
随机推荐
- 联网请求数据:Android篇
这篇文章主要回顾之前的MYangtzeu App教程的联网请求方法和json解析套路,主要目的是实现左侧菜单数据的联网获取. 1.先上请求地址实体类Constants.java package com ...
- mockplus 原型设计工具
国产原型工具 http://www.mockplus.cn, 该工具功能很棒. 每次打开软件都需先登陆, 好在项目文件是可以保存到本地, 可以注册为免费版/个人版/团队版/企业版. 我是免费账号, 功 ...
- GCC 警告
-w -W禁止/开启 编译警告的打印.这个警告不建议使用.大约2012年底,公司代码进行一次大重构,另外从Codeblock集成开发环境转向Makefile管理,Makefile里面默认使用了-w,因 ...
- Centos7添加新源
yum repolist # 查看yum源列表yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epe ...
- ultraEdit软件比较两个文件内容的不同处
1.软件名称为:UltraEdit ,安装并打开软件; 软件图标: 打开软件如图所示: 2.点击导航图标,蓝色上面有Uc图标,该图标名称为“比较文件” 如图位置: 3.弹出框,根据文件路径选择好比较的 ...
- Arduino—运算符
赋值运算符: = += -+ *= /= %= 取余等于 &= 与等于 &=(与等于)对某个变量的值按位进行与运算,例如:G&=x ...
- vue项目的mode:history模式
最近做的Vue + Vue-Router + Webpack +minitUI项目碰到的问题,在此记录一下,Vue-router 中有hash模式和history模式,vue的路由默认是hash模式, ...
- 清北学堂学习总结day2
今天是钟皓曦大佬讲课,先来膜一波 %%%%% •数论 数论是这次培训的一个重点,那么什么是数论呢? 数论是研究整数性质的东西,所以理论上day2不会涉及小数QwQ (切入正题) •整除性: 设a, ...
- 2018-2019-2-20175235 实验一 《Java开发环境的熟悉》实验报告
实验一 Java开发环境的熟悉 实验内容及要求: 1.使用JDK编写简单的Java程序 2.使用IDEA编辑编译运行调试测试Java程序 实验内容,步骤与心得: (一).Linux命令行下Java程序 ...
- Mac本地搭建kubernetes环境
前言:之前在windows上面的虚拟机上面手工搭建了kubernetes集群,但是环境被破坏了,最近想要继续学习k8s,手工搭建太费事,所以选择了minikube,完全能够满足个人的需求,其实在Win ...