再谈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();

这样就万事大吉了。。

 

posted @ 2012-10-26 18:41  onlycxue  阅读(525)  评论(0编辑  收藏  举报