Qt SQL C++ Classes
QSqlDatabase:Represents a connection to a database,代表了一个连接的数据库
QSqlDriverCreator:Template class that provides a SQL driver factory for a specific driver type,
QSqlDriverCreatorBase:The base class for SQL driver factories
QSqlDriver:Abstract base class for accessing specific SQL databases
QSqlDriverPlugin:Abstract base for custom QSqlDriver plugins
QSqlError:SQL database error information,,,sql访问数据库时的错误信息
QSqlField:Manipulates the fields in SQL database tables and views
QSqlIndex:Functions to manipulate and describe database indexes
QSqlQuery:Means of executing and manipulating SQL statements,执行或维护sql语句
QSqlRecord:Encapsulates a database record,压缩封装了数据库的记录
QSqlResult:Abstract interface for accessing data from specific SQL databases,提供了访问sql获得数据的接口
该类提供了一种针对SQL结果集的只读数据模式,是用于执行SQL语句和遍历结果集的高级接口。它建立在QSqlQuery之上,能够为显示类如QTableView提供数据。例如:
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT name, salary FROM employee");
model->setHeaderData(0, Qt::Horizontal, tr("Name"));
model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
QTableView *view = new QTableView;
view->setModel(model);
view->show();
//上述代码,我们设置了对象model的检索,然后设置了显示表头字段。QSqlQueryModel 也能够用来编程访问数据库,而不需要显示。
QSqlTableModel model;
model.setTable("employee");
model.select();
int salary = model.record(4).value("salary").toInt();
//上述代码获取sql结果集中第四条记录的salary单元的值。假如salary位于第2列,也可通过如下代码获取。
int salary = model.data(model.index(4, 2)).toInt();
默认情况model为只读模式,为了让其可读写,可重写集成该类重写setData和flags函数。另一个选择是使用QSqlTableModel类,该类可对数据库的单个表格进行读写操作。querymodel例子演示了怎么通过QSqlQueryModel显示sql结果,用户怎么继承QSqlQuerModel来自定义数据内容,怎样创建一个基于QSqlQueryModel的可读写模式。在sql语句中,如果数据库不能返回查询中所选行的数量,则该模型将以增量方式获取行。更多信息参加fetchMore()。
重要函数:
1,int columnCount(),introwCount():获取当前列数或行数
2,fetchMore():从数据库获取更多行
3,headerData():返回指定行的表头数据
4,insertColumns():指定位置插入一定数目的列
5,lastError():返回最近一次的错误信息
6,query():返回当前检索
7,record():范围指定行的记录
QSqlRelationalDelegate:Delegate that is used to display and edit data from a QSqlRelationalTableModel.用于显示/编辑来自QSqlRelationalTableMode的数据的代理
QSqlRelation:Stores information about an SQL foreign key:
QSqlRelationalTableModel:Editable data model for a single database table, with foreign key support
QSqlTableModel:Editable data model for a single database table
QSqlRecord
重要函数:
defaultValue,setDefaultValue返回和设置字段的默认值
原文:https://www.cnblogs.com/gethope5/p/13673454.html