使用数据库时,有很多种添加数据到数据库的方法,我这里使用的是变量传递数据
q.prepare("INSERT INTO CAN3(eDevID, eMeaning, eType, eCurrentValue, eDescrible, ePermission") VALUES(:a, :b, :c, :d, :e, :f)");
q.bindValue(":a", i);
q.bindValue(":b", "12");
q.bindValue(":c", "Old");
q.bindValue(":d", i+100);
q.bindValue(":e", "a");
q.bindValue(":f", "b");
ok = q.exec();
qDebug()<<"/*****/"<<ok<<q.lastError();
或者
q.bindValue(0, i);
q.bindValue(1, "12");
q.bindValue(2, "Old");
q.bindValue(3, i+100);
q.bindValue(4, "a");
q.bindValue(5, "b");
做连续插入时使用完prepare()后不要执行q.exec();会引起空行
个人在使用过程中,第二种方法有时候遇到问题,我也不知道是什么原因
ok = q.exec("CREATE TABLE CAN3(eDevID INT PRIMARY KEY, eMeaning VCHAR(60), eType VCHAR(3), eCurrentValue INT,eDescrible TEXT,、ePermission VCHAR(9))");
使用exec()创建表格时注意名字的类型与之后bindValue绑定变量的类型。
希望各位大神指正,分享更好的解决方法
提供各路大神些的文章
http://blog.csdn.net/fzu_dianzi/article/details/6959268
他还写了第七篇基础博文
数据库基本操作
360文库的集合
http://www.360doc.com/content/14/0819/10/18578054_403006130.shtml