我有一个类 ( ServicesTableModel
),它继承自QSqlRelationalTableModel
. 在构造函数中,我有:
ServicesTableModel::ServicesTableModel( QWidget* parent, QSqlDatabase db )
: QSqlRelationalTableModel( parent, db )
{
setTable( "servicios" );
select();
...
}
现在,如果我把线
qDebug() << primaryKey();
我得到的点在哪里
QSqlRecord( 1 )
" 0:" QSqlField("ser_id", int, required: no, generated: yes)
这很有意义,但之后
qDebug() << primaryKey().name();
答案是
“”
所以我无法获得主键的名称。
该表是 sqlite,定义为
CREATE TABLE servicios (ser_id integer primary key, ... )
这很重要,因为我试图为与表中的行密切相关的对象泛化类,并且不必向构造函数提供主键名称似乎很自然。
我肯定做错了什么,或者我不明白该name()_
方法的QSqlField
作用。