标题:请教一个QSqlTableModel使用的问题
作者:clickto
日期:2018-05-24 00:33
内容:
请教一个QTableModel在使用中的问题:有数据表table_user,使用QTableModel和QTableView来操作。
table_user的字段有:id,name,age,**,code,在界面中显示的是name,age和**,其中id为主键,code是根据name和age算的一个编码。
需求:
1、右键菜单新增一行;
2、在model提交数据库之前要计算好id值,否则插入失败;
3、在界面编辑数据内容后,鼠标点击切换不同的row,或者回车,这两个条件都需要model进行提交数据
4、code的值是根据name和age算的一个编码,在新增记录时即生成。
5、在修改现有数据时,根据修改结果自动实时计算显示关联的其它数据(需通过表修改的表内容做参数)
描述:
1、新增一行,并计算id,我是这样实现的:
//添加一行
connect(ui->action_append,&QAction::triggered,this,[=](){
QSqlRecord record = model->record();
record.setValue("unit_id",g_current_unit_id);//设置单位id
QSqlQuery qr(g_db_local);
qr.exec("select max(id) from ryb");//取出当前的最大id
if(qr.next())
{
int id = qr.value(0).toInt();
record.setValue("id",id + 1);
if(model->insertRecord(-1,record))
{
..