void CCASE2Dlg::OnOnCommMscomm1() 
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
long len,k;
BYTE rxdata[1024];
CString strtemp;
// MessageBox("TEST");
m_recv.Empty();
strtemp.Empty();
if (m_com.GetCommEvent()==2)
{
variant_inp=m_com.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for (k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);
}
for (k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_recv+=strtemp;
}
//上面的程序为串口的接收数据的代码 //当发送的AT指令时返回的是9个字节的数据为:A T 0X0D 0X0D 0X0A O K 0X0D  0X0A if ((m_recv.Right(4)).Left(2)=="OK")
{
if (m_flag==0)
{
MessageBox("连接到了GSM模块,可以进行下面的操作了","tips");
((CComboBox*)GetDlgItem(IDC_COM_COMB))->EnableWindow(FALSE);

m_flag=1;
SetTimer(1,500,NULL);//起动定时器,每隔一秒发送一条指令
}

}
if (m_recv.Left(4)=="+CMT")
{
MessageBox(m_recv.Mid(10,11));
if (m_recv.Mid(10,11)==m_phone)
{
char wendu=m_recv.GetAt(48);
char shidu=m_recv.GetAt(49);
CString riqi=m_recv.Mid(25,8);
CString shijian=m_recv.Mid(34,8);

CString fujia="收到信息";
int counter=m_list_info.GetCount();
if (counter<24)
{
m_list_info.AddString(riqi+" "+shijian+fujia);
m_stringarray.Add(m_recv);
}
else
{
for (int i=24;i>=0;i--)
{
m_list_info.DeleteString(i);
}
m_stringarray.RemoveAll();
m_list_info.AddString(riqi+" "+shijian+fujia);
m_stringarray.Add(m_recv);
} m_wendu=wendu;
m_shidu=shidu;

m_prs->AddNew();
m_prs->Fields->Item["温度"]->Value=_variant_t((long)m_wendu);
m_prs->Fields->Item["湿度"]->Value=_variant_t((long)m_shidu);
m_prs->Fields->Item["日期"]->Value=_variant_t(riqi);
m_prs->Fields->Item["时间"]->Value=_variant_t(shijian);
m_prs->Update();
}
}
m_temp+=m_recv;
UpdateData(FALSE);
}

}这个程序是接收GSM模块发送的数据的。可是在接收短信不能存储到数据库中!甚至if (m_recv.Left(4)=="+CMT")
这个判断下的语句都没能运行!