QT数据库操作
浏览:
在QSqlQuery类中当执行exec()后会把指针放在记录集中第一个记录之上,所以需要调用QSqlQuery::next()来获取第一个数据,下面通过循环体来遍历所有表中的数据。
while(query.next())
{
QString name = query.value().toString();
qDebug()<<name;
}
QSqlQuery::value()函数得到当前记录区域中的数据,QSqlQuery::value()默认返回的是一个QVariant类型,Qt提供了几种可远的类型支持,它们是C++的基本的类型,如:int,QString,QByteArray。对于不同类型的转换需要使用Qt提供的函数来实现,例如QVariant::toString()与QVaniant::toInt().
删除:
QSqlQuery query;
bool value;
value = query.exec(“delete from book where ID = “‘+id+”’”);
if(value)
QMessageBox::information(this,"notice","add sucessful!");
else
QMessageBox::information(this,"notice","add failed!");
修改:
QSqlQuery query;
bool value;
value = query.exec(“update book name set name=“‘+name+'"”);
if(value)
QMessageBox::information(this,"notice","add sucessful!");
else
QMessageBox::information(this,"notice","add failed!");
使用了prepare()函数:
query.prepare("insert into student(id, name) values (?, ?)");
query.bindValue(, );
query.bindValue(, "sixth");
query.exec(); 也可以利用addBindValue()函数,这样就可以省去编号,它是按顺序给属性赋值的,如下:
query.prepare("insert into student(id, name) values (?, ?)");
query.addBindValue();
query.addBindValue("sixth");
query.exec();
QSqllite好像不支持size函数,在StackOverflow上看到一个方法可以达到效果:
QSqlQuery q;
q.exec("select * from table");
q.last();
qDebug() << q.at() + ;
QT数据库操作的更多相关文章
- 2.大约QT数据库操作,简单的数据库连接操作,增删改查数据库,QSqlTableModel和QTableView,事务性操作,大约QItemDelegate 代理
Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法參考博客:http://blog.csdn.net/tototuzuoquan ...
- Qt: 数据库操作;
QT的数据库操作有两种方式: 一) 使用QsqlTableModel类, 可以配合QTableView进行界面显示并进行数据库操作, 这种方法比较方便快捷: 二) 使用原始SQL语言, 利用INSE ...
- qt 数据库操作总结
#include <QtSql>QT += sql QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录 第一: ...
- Qt数据库操作(qt-win-commercial-src-4.3.1,VC6,Oracle,SQL Server)
qt-win-commercial-src-4.3.1.qt-x11-commercial-src-4.3.1Microsoft Visual C++ 6.0.KDevelop 3.5.0Window ...
- Qt数据库_资料
1. QT笔记_数据库总结(一)-rojian-ChinaUnix博客.html http://blog.chinaunix.net/uid-28194872-id-3631462.html (里面有 ...
- Qt之操作数据库(SQLite)
SQLite 简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需 ...
- qt 5 数据库操作(mysql)
其实大家都知道,QT5以上的都自带了数据库驱动,所以呢,基本上可以直接使用,于是如果想知道怎么连接数据库,请参考这位大神写的.http://qtdebug.com/DB-AccessMySQL.htm ...
- Qt 多线程与数据库操作需要注意的几点问题(QSqlDatabase对象只能在当前线程里使用)
彻底抛弃MFC, 全面应用Qt 已经不少时间了.除了自己看书按步就班做了十几个验证性的应用,还正式做了3个比较大的行业应用,总体感觉很好.Native C++ 下, Qt 基本是我用过的最简便的界面库 ...
- Qt 多线程与数据库操作需要注意的几点问题
源地址:http://blog.csdn.net/goldenhawking/article/details/10811409 彻底抛弃MFC, 全面应用Qt 已经不少时间了.除了自己看书按步就班做了 ...
随机推荐
- Composer 学习笔记
Composer 是 PHP 的一个依赖管理工具(据说是最优秀的).它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们.目前很多项目以Composer 作为依赖管理工具,目前正在学习yii2 ...
- Clustering Methods: Benefits and Limitations
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
- PGPool 配置错误定位 s_do_auth: expecting R got E
自从按照教程 http://www.pgpool.net/docs/latest/pgpool-zh_cn.html#hba配置好PGPool以后,每次启动 pgpool -c -n -D 都报 s_ ...
- Linux小技巧1:如何关闭Root用户SSH登陆
新建用户 >useradd nonroot //新建用户 >passwd nonroot //创建/修改nonroot用户密码 >vim /etc/ssh/sshd_config 将 ...
- Cocoa Touch事件处理流程--响应者链
Cocoa Touch事件处理流程--响应者链 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/9264335 转载请注明 ...
- MySql连接Visual studio Code First插件
到mySql官网Downloads==> MySQL on Windows==>MySQL for Visual Studio 下载插件安装即可
- 利用paramiko模块实现堡垒机+审计功能
paramiko模块是一个远程连接服务器,全真模拟ssh2协议的python模块,借助paramiko源码包中的demos目录下:demo.py和interactive.py两个模块实现简单的堡垒机+ ...
- win7下开启telnet命令
win7下开启telnet命令 win7上telnet这条命令默认被关闭了. 开启telnet方法如下: 一,打开控制面版 二,选择程序 三,选择打开或关闭windows功能 在弹出窗口中把 Teln ...
- BI好比做菜
近日,珠海奥威软件宣布成功签约新世界中国地产(华南),成为该公司在商业智能项目上的坚实合作伙伴,共同打造基于以财务应用为主的决策分析平台. 公司简介 新世界中国地产(港股代号:917)为香港上市公司新 ...
- 判断网站地址是否是http开头
var url = ""; if(!string.IsNullOrEmpty(Model.WebsiteURL)){ url = Model.WebsiteURL.ToString ...