//模糊查询
if(((CButton*)GetDlgItem(IDC_CHECKMOHU))->GetCheck())
{
if(m_strName="")
sql="select * from 通讯录";
else sql="select * from 通讯录 where 姓名 like '*"+_T(m_strName)+"*'";
//准确查询
}else
{
sql="select * from 通讯录 where 姓名='"+m_strName+"'";
}
我怎么一输入东西,就出错!!!》
请高手指点,急!!

解决方案 »

  1.   

    if(m_strName="")
    应该用if(m_strName.IsEmpty()),或者if(m_strName=="")
    _T(m_strName)+"*'";
    不要乱用_T(),这是UNICODE。
      

  2.   

    _variant_t sql;
    UpdateData();
    if(((CButton*)GetDlgItem(IDC_CHECKMOHU))->GetCheck())
    {
    if(m_strName=="")
    sql="select * from 通讯录";
    else sql="select * from 通讯录 where 姓名 like '%"+m_strName+"%'";
    }else
    {
    sql="select * from 通讯录 where 姓名='"+m_strName+"'";
    }
    RefreshList(sql);
    这样了,还是不行啊,说的是:Runtime Error,我是在Edit里面的OnCheangeEdit函数里响应的,有什么错么?!
      

  3.   

    我估计式你的RefreshList()函数中的错误