又是一个送分的问题
问题很简单, for(k=0;k<len;k++) //将数组转换为Cstring型变量
{
BYTE bt=*(char*)(rxdata+k); //字符型
strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放
strh+=strtemp;
m_strRXData+=strtemp; //加入接收编辑框对应字符串
}
以上代码中,意思主要是软件一个字符一个字符在接受单片机传输来的数据,而strtemp是个CString变量,单片机传输“ABC”数据存放在strtemp中,m_strRXData是关联编辑框的一个CString变量.然后strtemp变量内数据可以显示在编辑框内,同时,strtemp变量也存放在CString变量strh中。
问题:我通过
str.Format("select * from coustomer where cou_nick='%s'",strh);
((CListBox*)GetDlgItem(IDC_LIST2))->AddString(str);
pRst=pConn->Execute((_bstr_t)str,NULL,adCmdText); (注:str也是个CString变量)
然后,我在ID=IDC_LIST2的编辑框中发现,在持续的接收单片机“ABC”的数据时发现
str=select * from coustomer where cou_nick='ABC'
str=select * from coustomer where cou_nick='ABCABC'
str=select * from coustomer where cou_nick='ABCABCABC'
....
持续出现这样的问题,请问怎么每次接收到单片机数据时strh都等于ABC而不发生叠加呢
[解决办法]
str=select * from coustomer where cou_nick='ABCABCABC'不是叠加了吗? 这不是3个ABC了?