再谈Qt数据库的使用
谈不上什么再谈,上次匆匆的写了点数据库的博客就放下了,今天做智能家居项目要用到数据库来存储报警信息,又出现了许多问题,不得在记一下。废话少说言归正传。
如果每次收到信息跟创建数据表一样的,那么,当我们动态接受数据时不得已还要组合字符串,但最后不见得好弄,因为字符串里还要套字符串。
query.exec("create table message (设备类型 varchar(20),设备编号 int," "网络地址 int, 归属房间 varchar(20),报警时间 varchar(20)) ");
而QSqlQuery 类给我们提供了一个bindValue()的属性,所以我们可以这样写了
query.prepare("INSERT INTO message VALUES (?, ?, ?, ?, ?)"); query.bindValue(0,"灯"); query.bindValue(1,1); query.bindValue(2,8); query.bindValue(3,"卧室"); query.bindValue(4,"2012.3.6"); query.exec();
可以把数据很方便的插入到数据库里。
值得注意的是我们在使用query执行SQL语句时一定要记得连接一下数据库
query = QSqlQuery(db);
还有一点是对数据操作完后一定要记住关闭数据库
db.close();
这样就万事大吉了。。