• 4628阅读
  • 2回复

[讨论]关于QT数据库增加项的问题 [复制链接]

上一主题 下一主题
离线pan356
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-31
增加槽中的判断语句出现两个问题
1.无论增加的是不同还是相同项,均弹出警告“已经存在该用户”
2.如果输入相同项,弹出的警告窗口为两次,如何取消其循环弹出。同时新输入的相同项也存在,也就是说removeRow无效
代码如下:

void AdddepartmentDialog::adddep()
{
  QString depname0=depnamelineEdit->text();
  QString chitem0=checklineEdit->text();//获取数据  
if(!depname0.isEmpty()||!chitem0.isEmpty())
{
    int row=model->rowCount(); //获得表的行数
    model->insertRow(row);//插入一行
    model->setData(model->index(row,0),depname0);
    model->setData(model->index(row,1),chitem0);
    model->submitAll();
    row=mapper->currentIndex();
  //判断是否已经存在相同的部门信息
  int i=0;
  for(;i<model->rowCount()-1;i++)
  {
      QSqlRecord record=model->record(i);
      QString departmentsql=record.value("department").toString();
      if(depname0==departmentsql)
       {
             QMessageBox::critical(this,tr("请注意"),tr("已经存在该用户"));
             model->removeRow(row);
            model->submitAll();
       }  
    }  
}
   else
       QMessageBox::critical(this,tr("请注意"),tr("输入为空,无法添加"));  
depnamelineEdit->clear();
checklineEdit->clear();
depnamelineEdit->setFocus();
}

离线pan356
只看该作者 1楼 发表于: 2011-05-31
问题已解决!采用查询条件,可以代替循环。
此问题困扰多天,刚刚看到一程序,灵机一现,刚好用上了。
离线luoyang

只看该作者 2楼 发表于: 2011-05-31
恭喜道友··
快速回复
限100 字节
 
上一个 下一个