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()_
メソッド fromが何をするのか理解していませんQSqlField
。