QSqlQuery Parameter count mismatch错误,下面附部分代码,求帮助

baidu_35683434 2016-08-19 05:28:20
QString sql = "INSERT INTO sys_Sale (order_sn, pay_sn, store_id,"
"store_name,buyer_id,buyer_name,buyer_email,add_time,"
"payment_code,payment_time,finished_time,goods_amount,"
"totalnum,order_amount,pd_amount,mpredeposit,card,cash,"
"recash,seller) VALUES (:g1, :g2, :g3, :g4, :g5,:g6,:g7,"
":g8,:g9,:g10,:g11,:g12,:g13,:g14,:g15,:g16,:g17,:g18,:g19,:g20)";

QList<QVariant> paramList;
paramList.append(orderStr);
paramList.append(orderStr);
paramList.append(GlobalVariable::AgencyId);
paramList.append(GlobalVariable::AgencyName);
paramList.append(_map["buyerId"]);
paramList.append(_map["buyerName"]);
paramList.append(_map["buyerEmail"].toString()!=""?_map["buyerEmail"].toString():"custom@email.com");
paramList.append(timeStr);
paramList.append(_map["payMethod"]);
paramList.append(timeStr);
paramList.append(timeStr);
paramList.append(_map["totalPrice"]);
paramList.append(_map["totalNum"]);
paramList.append(_map["realPrice"]);

//计算会员卡金额
double cardamount;
if(_map["payMethod"]=="custom")
{
cardamount = ui->cardEdit->text().toDouble();
paramList.append(ui->cardEdit->text());
}
else if(_map["payMethod"]=="member")
{
cardamount = cashEdit->text().toDouble();
paramList.append(cashEdit->text());
}
else
{
cardamount = ui->cardEdit->text().toDouble();
paramList.append(ui->cardEdit->text());
}

paramList.append(_map["memberPerident"].toDouble()-cardamount);
paramList.append(QString::number(cardamount,'f',2));
paramList.append(cashEdit->text());
paramList.append(ui->recashEdit->text());
paramList.append(GlobalVariable::SaleManName);

数据库操作部分代码
query.prepare(strQuery);
for(int i = 0; i < lstParameter.count(); i++)
query.bindValue(i, lstParameter[i]);


int ID = 0;
if(query.exec())
{
QString sql = "select max(order_id) from sys_Sale";
query.exec(sql);
query.next();
ID = query.record().value(0).toInt();
}
else
{
_error = query.lastError();
}
给的错误信息是参数数量不匹配,数据库连接没有问题
...全文
754 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_35683434 2016-08-25
  • 打赏
  • 举报
回复
引用 2 楼 zsmd000 的回复:
这个,调试呀,打断点一调试不就知道有多少参数了
最后是换了一个思路实现了功能,多谢回复
千荒 2016-08-24
  • 打赏
  • 举报
回复
这个,调试呀,打断点一调试不就知道有多少参数了
baidu_35683434 2016-08-19
  • 打赏
  • 举报
回复
数据库代码中命名都是没有问题的,

21,490

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧