通过串口接收数据,进行sql查询数据出错。 20
CStringstrSubString;CStringll;ll=m_ReceiveData;1串口接收的数据m_ListCtrl.DeleteAllItems();//...
CString strSubString;
CString ll;
ll=m_ReceiveData; 1串口接收的数据
m_ListCtrl.DeleteAllItems();//清空列表
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=data;UID=root;PWD=182412");
CRecordset rs( &db );
int i=0;
for( int j=0;j<nLen;j++)
{
AfxExtractSubString (strSubString,(LPCTSTR)ll,i,'.');//得到abc
char *str1;
str1=(LPSTR)(LPCTSTR)strSubString;
str1="\'str1\'";
char strr[]="select * from shi where number=";
strcat(strr,str1);
rs.Open( CRecordset::forwardOnly, _T(strr)); 2
while(!rs.IsEOF())
{
CString varID;
rs.GetFieldValue("ID", varID);//一个指向CDBVariant对象的引用,该对象将用来保存字段的值。把ID保存到varid
m_ListCtrl.InsertItem(0,varID);//:序号,显示的字符串
m_ListCtrl.SetItemText(0, 1, varID);
CString varNumber;
rs.GetFieldValue("number", varNumber);
m_ListCtrl.SetItemText(0, 2, varNumber);
CString varVarise;
rs.GetFieldValue("varise", varVarise);
m_ListCtrl.SetItemText(0, 3, varVarise);
CString varPrice;
rs.GetFieldValue("price", varPrice);
m_ListCtrl.SetItemText(0, 4, varPrice);
CString varDate;
rs.GetFieldValue("date", varDate);
m_ListCtrl.SetItemText(0, 5, varDate);
rs.MoveNext();
}
i++;
rs.Close();
}
db.Close();
1串口接收的数据0E3000E2005563630301091160A034.0E3000E20055636303011022402EF8.
以.为字符串分割,每次执行到2就出错而且数据只能接收到0E3000E2005563630301091160A034.0E3000E200,不能按sql语句进行查询。
nLen是接收到得字符串的长度 展开
CString ll;
ll=m_ReceiveData; 1串口接收的数据
m_ListCtrl.DeleteAllItems();//清空列表
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=data;UID=root;PWD=182412");
CRecordset rs( &db );
int i=0;
for( int j=0;j<nLen;j++)
{
AfxExtractSubString (strSubString,(LPCTSTR)ll,i,'.');//得到abc
char *str1;
str1=(LPSTR)(LPCTSTR)strSubString;
str1="\'str1\'";
char strr[]="select * from shi where number=";
strcat(strr,str1);
rs.Open( CRecordset::forwardOnly, _T(strr)); 2
while(!rs.IsEOF())
{
CString varID;
rs.GetFieldValue("ID", varID);//一个指向CDBVariant对象的引用,该对象将用来保存字段的值。把ID保存到varid
m_ListCtrl.InsertItem(0,varID);//:序号,显示的字符串
m_ListCtrl.SetItemText(0, 1, varID);
CString varNumber;
rs.GetFieldValue("number", varNumber);
m_ListCtrl.SetItemText(0, 2, varNumber);
CString varVarise;
rs.GetFieldValue("varise", varVarise);
m_ListCtrl.SetItemText(0, 3, varVarise);
CString varPrice;
rs.GetFieldValue("price", varPrice);
m_ListCtrl.SetItemText(0, 4, varPrice);
CString varDate;
rs.GetFieldValue("date", varDate);
m_ListCtrl.SetItemText(0, 5, varDate);
rs.MoveNext();
}
i++;
rs.Close();
}
db.Close();
1串口接收的数据0E3000E2005563630301091160A034.0E3000E20055636303011022402EF8.
以.为字符串分割,每次执行到2就出错而且数据只能接收到0E3000E2005563630301091160A034.0E3000E200,不能按sql语句进行查询。
nLen是接收到得字符串的长度 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询