完善查询按钮的响应和商品的加减操作响应
- 从编辑框中获取到输入的商品名称
- 构建相应的查询语句,查询数据库中的Inventory
- 拿到库存数量的编辑框,点击查询后设置文本为Inventory的数据
//获取商品名称
CEditUI* pEDGoodname = (CEditUI*)m_PaintManager.FindControl(_T("ediGoodname"));
CDuiString strGoodname = pEDGoodname->GetText();
//构造数据库sql语句
string strSQL = "select * from goods where GoodsName='";
strSQL += StringFromLPCTSTR(strGoodname);
strSQL += "';";
//显示到库存量控件中
CDuiString strGoodCount = (vRet[0][7]).c_str();
((CEditUI*)m_PaintManager.FindControl(_T("ediGoodCount")))->SetText(strGoodCount);
- 商品数量编辑框默认文本为0
- 点击+号按钮,商品数量自增,库存数量自减
- 点击-号按钮,商品数量自减,库存数量自增
注意:count的使用要使用atoi函数完成格式转换
- 将CDuistring类型转为string类型
- 将string类型转为int型
- 一个count两次使用,重新赋值即可
//库存减1
CEditUI* pEDGoodCount = (CEditUI*)m_PaintManager.FindControl(_T("ediGoodCount"));
CDuiString strGoodCount = pEDGoodCount->GetText();
int count = 0;
count = atoi(StringFromLPCTSTR(strGoodCount).c_str());
--count;
strGoodCount.Format(_T("%d"), count);
pEDGoodCount->SetText(strGoodCount);
//商品个数加1
CEditUI* pECount = (CEditUI*)m_PaintManager.FindControl(_T("ediCount"));
CDuiString strCount = pECount->GetText();
count = atoi(StringFromLPCTSTR(strCount).c_str());
++count;
strCount.Format(_T("%d"), count);
pECount->SetText(strCount);
- 解决list控件中字体不居中
- 在list控件的属性中加入itemalign=“center”
8.20更新,查询商品库存若低于预警值,则弹窗提醒
注意: - 比较vRet中的数据要先格式转换
- 否则会出现低于设置的20,如18,会报警
- 但是库存低于10,为9,则不会报警
//是否低于预警值,低于就报警
if (atoi(vRet[0][7].c_str()) < atoi(vRet[0][8].c_str()))
{
MessageBox(m_hWnd, _T("库存不足,请及时备货!"), _T("提示信息"), NULL);
}
完成部分确认输出按钮的功能
- 统计价格,设置文本setText()到总计的编辑框
- 更新数据库库存
- string类转为int方便相减,得到应有的库存
- 转回string类是防止更新数据库97变成a之类的错误
确认提交前的数据库
确认输出之后的数据库
- 冰红茶库存从100变为97
- 脉动库存从100变为98
- 橙汁库存从100变为99