1 void CDiancaidlg::OnBnClickedOk()
2 {
3 UpdateData();
4 CString sql;
5 int i=m_CaidanCheck.GetItemCount();
6 if(i==0)
7 {
8 ::AfxMessageBox(_T("请点菜"));
9 return;
10 }
11 sql="update TableUSE set TableUSEID=1 where 桌号='";
12 sql+=m_ZhuoHao;
13 sql+="'";
14 theApp.m_pCon->Execute((_bstr_t)sql,NULL,adCmdText);
15 CString Sql,Sql1,Str,Str1,Value,TotalValue;
16 double Total=0;
17 for(int n=0;n<i;n++)
18 {
19 Str=m_CaidanCheck.GetItemText(n,0);
20 Str1=m_CaidanCheck.GetItemText(n,1);
21 Sql="SELECT * FROM caishiinfo WHERE 菜名='";
22 Sql+=Str;
23 Sql+="'";
24 m_pRs=theApp.m_pCon->Execute((_bstr_t)Sql,NULL,adCmdText);
25 Value=(char*)(_bstr_t)m_pRs->GetCollect(_T("菜价"));
26 Total=_wtof(Value)*_wtof(Str1);
27 TotalValue=(char*)(_bstr_t)Total;
28 Sql1="insert into paybill(桌号,菜名,数量,消费)values("+(_bstr_t)m_ZhuoHao+",'"+Str+"',"+Str1+","+TotalValue+")";
29 theApp.m_pCon->Execute((_bstr_t)Sql1,NULL,adCmdText);
30 }
31 ::AfxMessageBox(_T("点菜成功"));
32 CDialogEx::OnOK();
33 }
在VC++2010,这个函数体的倒数第六行的Sql1数据库语句被提示错误为有多个运算符"="与这些操作数匹配。这条语句该怎样修改一下才正确呢?