Qt操作数据库其实不难,只要连接成功数据库,写对sql语句就行。
连接数据库可参照:
http://blog.csdn.net/luohao1213/article/details/17378091
简单的在程序中写死的sql语句写法如下:
QSqlQuery query;
query.exec(“INSERT INTO TableName (id,name) VALUES (001,Test)”);
先构造一个QSqlQuery的对象,然后exec中写入Sql语句即可。
当删除的属性需要获取时,Qt提供了一种占位符的形式来描述Sql语句:
下面是插入数据的例子:
代码如下:
QSqlQuery query;
query.prepare("INSERT INTO TableName (id,name) VALUES (:id,:name)");
query.bindValue(":id",001);
query.bindValue(":name",name);
query.exec();
下面说下查询:
个人不是很习惯使用占位符的方式写Sql语句,喜欢用QString("%1").arg() 的方式来写:
QSqlQuery query;
int id = 001;
query.exec(QString("SELECT id,name FROM TableName WHERE id='%1'").arg(id));
wile(query.next()) //查询时,需要先next()然后才能把结果定位到第一条搜索记录,每next()一次,定位到下一条结果,直到为空,next()返回false结束
{
int id_number = query.value(0).toInt(); //value()可以单独提取查询的属性,按sql语句写的属性顺序,0代表第一条属性,1代表第二条属性,依次类推即可。
QString name = query.value(1).toString();
}