QSqlDatabase数据库
#include <QSqlDatabase>
#include <QtDebug>
#include <QSqlQuery>
#include <QSqlError>
#include <QSqlRecord>
//创建数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "sqlite1");
db.setHostName("acidalia");
db.setDatabaseName("customdb");
db.setUserName("root");
db.setPassword("123456");
if( !db.open())
{
qDebug() << "db.open failed.";
}
//创建表
db = QSqlDatabase::database("sqlite1"); //建立数据库连接
QSqlQuery query(db);
bool success = query.exec("create table automobil(id int, name varchar)");
if(success)
{
qDebug() << QObject::tr("create table success.");
}
else
{
qDebug() << QObject::tr("create table failed.");
}
//插入记录
for(int i = 0; i < 10; i++)
{
query.prepare("INSERT INTO automobil (id, name) "
"VALUES (:id, :name)");
query.bindValue(":id", i);
query.bindValue(":name", "furong");
if(!query.exec())
{
QSqlError lastError = query.lastError();
qDebug() << lastError.driverText() << QString(QObject::tr("INSERT failed."));
}
}
//查询记录
query.exec("select * from automobil where id = '" + id + "'");
QSqlRecord rec = query.record();
qDebug() << QObject::tr("automobil table count:" ) << rec.count();
while(query.next())
{
for(int i = 0; i < rec.count(); i++)
qDebug() << query.value(i);
}
//更新记录
query.prepare(QString("update automobil set name = \"quange\",name = '" + name + "' where id = %1").arg(9));
if(!query.exec())
{
QSqlError lastError = query.lastError();
qDebug() << lastError.driverText() << QString(QObject::tr("update failed."));
}
//删除记录
query.prepare(QString("delete from automobil where id = %1").arg(2));
if(!query.exec())
{
qDebug() << "delete failed.";
}
出现如下错误:
error: QSqlDatabase: No such file or directory 错误
解决办法:.pro工程文件中添加
QT += sql
QSqlDatabase数据库的更多相关文章
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0
作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...
- Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表
Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表 一个个人觉得比较简单小巧的软件. 下面就如何编写如何发布打包来介绍一下吧! 先下载mysql的库文件链接:http://files. ...
- 基于Qt5.5.0的sql,C++备忘录软件的编写
我的第一个软件. 基于Qt5.5.0的 sql ,C++备忘录软件version1.0的编写 我用的Qt版本是5.5.0免配置编译器的版本,这里附上我使用的软件下载地址:http://download ...
- SQL in Qt (一)
Connecting to Databases To access a database with QSqlQuery or QSqlQueryModel, create and open one o ...
- JSP应用开发 -------- 电纸书(未完待续)
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...
- Qt 多线程与数据库操作需要注意的几点问题(QSqlDatabase对象只能在当前线程里使用)
彻底抛弃MFC, 全面应用Qt 已经不少时间了.除了自己看书按步就班做了十几个验证性的应用,还正式做了3个比较大的行业应用,总体感觉很好.Native C++ 下, Qt 基本是我用过的最简便的界面库 ...
- qt数据库多线程问题的解决(QSqlDatabase只能在创建它的线程中使用)
Qt数据库由QSqlDatabase::addDatabase()生成的QSqlDatabase只能在创建它的线程中使用, 在多线程中共用连接或者在另外一个线程中创建query都是不支持的几乎国内没有 ...
- Qt实用技巧:使用QTableView、QSqlTableMode与QSqlDatabase对数据库数据进行操作
本文章博客地址:http://blog.csdn.net/qq21497936/article/details/78615800 Qt实用技巧:使用QTableView.QSqlTableMode与Q ...
- Qt5 开发 iOS 应用之访问 SQLite 数据库
开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 iPhone 6S+iOS 10.1.1 源代码: 我在 Qt 程序里指定了数据库的名称来创建数据库,在 Win10.An ...
随机推荐
- VAE论文学习
intractable棘手的,难处理的 posterior distributions后验分布 directed probabilistic有向概率 approximate inference近似推 ...
- pytorch 想在一个优化器中设置多个网络参数的写法
使用tertools.chain将参数链接起来即可 import itertools ... self.optimizer = optim.Adam(itertools.chain(self.enco ...
- FastDFSClient工具类
import org.csource.common.NameValuePair;import org.csource.fastdfs.ClientGlobal;import org.csource.f ...
- Game and Application Protocol
This privacy policy details the information collected by the team ("we" or "our" ...
- MySQL中事务的隔离级别
MySQl InnoDB存储引擎实现SQL标准的4种隔离级别(RU,RC,RR,serializable),用来限定事务内外的哪些改变时可见的,哪些时不可见的.低级别的隔离级一般支持更高的并发处理,并 ...
- 欧姆龙PLC_CP1H_CRC校验
1.简介 欧姆龙CP1H PLC的CRC校验.CP1H没有CRC校验指令或者功能块,在串口自由协议通信中,如果涉及到CRC校验,需要手动计算CRC值,本程序是一个输入数据,自动计算CRC校验码的程序. ...
- 构建C 程序
1, 单个文件的编排顺序 #include指令 #define指令 类型定义 外部变量的声明 除main函数之外的函数的原型 main函数的定义 其他函数的定义
- linux软件安装习惯
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32./u ...
- Nginx08---腾讯云宝塔面板
主要在宝塔面板中Nginx和Apache不可同时存在 宝塔可以快速搭建网站并且配置 与nginx不冲突:nginx nginx
- 关于Python编码这一篇文章就够了
概述 在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦.在Stack Overflow和其他的编程问答网站上,UnicodeDecodeError和UnicodeEnc ...