1. 在使用数据库时,注意修改xxx.pro文件的第一行
QT += coreguisql
要添加sql,否则在添加数据库头文件后,
#include <QSqlDatabase>
#include <QSqlQuery>
构建会报错,显示QSqlDatabase: no such file or directory
2. 在某个数据库,建立自己定义的数据库连接时,如yf.db,不要在yf.db前加:。
db.setDatabaseName("yf.db");
如果是库默认的,如内存
db.setDatabaseName(":memory:");
3. 使用QSQL编辑数据库时,一旦数据库建立,数据库中的数据不会因重复写入而被覆盖,如需更改,必须先delete对应位置再重新insert。如下:
QSqlQuery query;
query.exec("create table student (id int primary key, "
"name varchar(20))");
// query.exec("insert into student values(0, 'first')");
query.exec("delete from student where id=0");
query.exec("insert into student values(0, 't2')");
query.exec("insert into student values(1, 'second')");
query.exec("insert into student values(2, 'third')");
query.exec("insert into student values(3, 'fourth')");
在上例中,建立了一个student的表,有两个列id和name。然后在表中插入数据值
0 first
1 second
2 third
3 forth
如果,想更改某行的值,如第一行,想改成
0 t2
直接用语句
query.exec("insert into student values(0, 't2')");
替换
query.exec("insert into student values(0, 'first')");
不能实现第一行的更改,必须如上例先delete后再insert。