售卖信息模块查询,更新功能不能实现
实现商品销售的查询,销售后售卖信息的更新
以下是mainform函数
void Mainform::on_Button_page4_year_clicked()
{
Search_Year dlg;
if(dlg.exec() == QDialog::Accepted){
cFun->printMsg(“good增加…”);
}
}

void Mainform::on_Button_page4_month_clicked()
{
Search_month dlg;
if(dlg.exec() == QDialog::Accepted){
cFun->printMsg(“good增加…”);
}
}

void Mainform::on_Button_page4_day_clicked()
{
Search_day dlg;
if(dlg.exec() == QDialog::Accepted){
cFun->printMsg(“good增加…”);
}
}
不会调用数据和更新数据
void Account::on_Button_ok_clicked()
{
// 取出页面数据
// 1、取出表格数据(计算总价)
QItemSelectionModel *selections = ui->table_Acc->selectionModel();
QModelIndexList selected = selections->selectedIndexes();
QMap <int, int> rowMap;
foreach (QModelIndex index, selected)
{
rowMap.insert(index.row(), 0);
}
QList <int> indexes = rowMap.keys();
//cFun->printMsg(QString::number(rowMap.count()));

  1. /*for(int i=0;i<rowMap.count();i++)
  2. {
  3. int row = indexes[i];
  4. // 需要的列 1,2,4
  5. int goodId = selections->model()->data( selections->model()->index(row,0)).toInt();
  6. QString goodName = selections->model()->data( selections->model()->index(row,1)).toString();
  7. int oPrice = selections->model()->data( selections->model()->index(row,3)).toInt();
  8. struct buyingList temp;
  9. temp.goodId = goodId;
  10. temp.goodName = goodName;
  11. temp.oPrice = oPrice;
  12. bList<<temp;
  13. //int sellNum;
  14. //cFun->printMsg( QString::number(goodId)+" " +goodName+" "+ QString::number(oPrice) );
  15. }*/
  16. // 2、取出主表数据(流水号、总价<计算>、购买时间)
  17. // 创建sql执行插入数据库
  18. // 开始事务操作
  19. QSqlDatabase::database().transaction();
  20. QSqlQuery query;
  21. // 新增流水主表数据
  22. QString sql1 = QString("INSERT INTO tb_imminfo (immId,sum,buydate)VALUES ('%1','%2','%3')").arg("test"/*流水号*/).arg("test"/*总价*/).arg("test"/*购买时间*/);
  23. cFun->printMsg(sql1);
  24. bool flagSql1=query.exec(sql1);
  25. // 新增流水明细(子)表数据
  26. bool flagSql2 = true;
  27. for(int i=0;i<3;i++){
  28. QString sql2 = QString("INSERT INTO tb_simminfo (simmId,immId,seqNum,goodName,buy,oprice)VALUES (NULL,'%1','%2','%3','%4','%5')").arg("test"/*流水号*/).arg("test"/*序号*/).arg("test"/*商品名*/).arg("test"/*数量*/).arg("test"/*单价*/);
  29. cFun->printMsg(sql2);
  30. if(!query.exec(sql2)){
  31. flagSql2=false;
  32. }
  33. }
  34. if(flagSql1 & flagSql2)
  35. {
  36. //提交
  37. QSqlDatabase::database().commit();
  38. QMessageBox::information(this,tr("提示"),tr("新增完成!"));
  39. accept();
  40. }
  41. else
  42. {
  43. //回滚
  44. QSqlDatabase::database().rollback();
  45. QMessageBox::warning(this,tr("警告"),tr("新增失败!"),QMessageBox::Ok);
  46. }

}

上传的附件
你的回答被采纳后将获得: 10点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : 你购买"WRITE-BUG技术共享平台"推出的永久VIP了吗 求官方的VS2012的下载链接 : 下一篇keyboard_arrow_right

2个回答

Nuisance
2019-06-17 10:01:18

您能说的更详细一点吗?

Change
2019-06-17 10:28:36

像这类与数据库打交道的系统程序,本质上就是执行SQL语句。所以,你先检查自己写的SQL语句是否都正确,检查的方法可以是直接在数据库中执行自己的SQL语句,看看是否达到预期效果;如果SQL语句有问题,那就修改SQL语句,改正确就行;若SQL语句没问题,那就是你的程序调用执行SQL语句有问题,那么检查自己程序的SQL语句调用函数使用是否正确,参数是否都填写正确了!

精彩评论

eject