售卖信息模块查询,更新功能不能实现
实现商品销售的查询,销售后售卖信息的更新
以下是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上一篇 : 说说你的新需求 求官方的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语句调用函数使用是否正确,参数是否都填写正确了!

精彩评论

  • qt售卖信息表的查询和自动更新
    像这类与数据库打交道的系统程序,本质上就是执行SQL语句。所以,你先检查自己写的SQL语句是否都正确,检查的方法可以是直接在数据库中执行自己的SQL语句,看看是否达到预期效果;如果SQL语句有问题,那就修改SQL语句,改正确就行;若SQL语句没问题,那就是你的程序调用执行SQL语句有问题,那么检查自己程序的SQL语句调用函数使用是否正确,参数是否都填写正确了!
    2019-06-17 10:28:36 thumb_up( 3 )
  • eclipse项目 找不到或无法加载主类
    Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法: 1、在src文件夹上点右键-Build Path-Use as Source Folder,重新进行编译,一切正常了。 2、在Eclipse工程文件夹上点右键-Refresh,重新编译,一功OK(这个方法一般不起作用)。 3、右键Properties在Java Builder Path的Libraries的标签里面看是否有缺少或者无用的(一般带红差头)的,引入对应的jar包或者删除掉。 4、在Properties里面设置Source.添加你的Java路径.比如src,然后需要设置下面的Default output folder,这里设置你的输出路径也就是class路径了。 5、右键Properties在里面的builder里面把项目的builder.xml引用(import)进来。 6、把右键Properties在Java Builder Path的Libraries全部删除,尤其是jre,然后,点击保存,关闭eclipse,然后再打开,再把对应的jre和lib下边的相关jar引进来,保存,重新编译后就好了,我也不知道为啥,有一次我就这么弄好了。 7、把class下边的有.class文件的话还是这样,把这些.class文件删除掉,然后elipse中菜单project—clear然后选中对应项目,在project菜单下边勾上Build Automaticlly(自动部署),然后生成新的就class文件就OK了。 8、把项目下边的.project删除掉,从同事身边运行正常的项目下边拷贝过来它的.project文件,刷新项目试试。 9、把项目下边的.classpath删除掉,从同事身边运行正常的项目下边拷贝过来它的.classpath文件,刷新项目试试。 10、终极解决办法,也是很管用的解决办法,就是把整个项目删除掉,删除之前把更改的内容提交到CVS或者SVN上,然后重新从SVN或者CVS上把项目档下来。
    2019-05-11 16:35:34 thumb_up( 5 )
  • 在C语言或者C++中,如何旋转一张图片呢??
    通过矩形的中心坐标与原顶点坐标以及旋转角度,计算矩形的旋转后4个顶点的位置的公式如下: x2 = (x1-x0)*cos(q) –(y1-y0)*sin(q) + x0; y2 = (x1-x0)*sin(q) + (y1-y0)*cos(q) + y0;其中,q表示矩形的旋转角度,x1表示矩形的原顶点横坐标,x0表示矩形的中心坐标。 但是,C语言中的sin()函数和cos()函数中的参数并不是角度,而是弧度,所以需要我们通过下述公式将角度转化为弧度: 弧度= 3.1415926*角度/180;根据上述公式,我们可以计算一个点绕另一个点旋转一定角度后的位置坐标。 飞旋转的原理可以是:计算出图片各个点旋转后的坐标,再把每个点画到屏幕上!
    2019-03-06 18:53:38 thumb_up( 9 )
eject