strSql.Format("SELECT * FROM Customer WHERE (Name like '%s')AND (Phone like'%s')",m_strName,m_strPhone);想m_strName有值的时候当条件,无值的时候不当条件,比如:数据库中name字段有1,2,3,三条记录,当m_strName=1的时候列出第一条,当m_strName为空的时候列出所有的,怎么写?在asp中为什么这条语句可以?asp中的:SELECT * FROM customer where (Name like '%" & cname & "%')and (Phone like '%"&phone&"%')
CString str;
if(m_strName != "")
{
bFlag = true;
str.Format("(Name like '%s')", m_strName);
}if(m_strPhone != "")
{
if(bFlag) str += "AND (Phone like'" + m_strPhone +"')";
else str = "(Phone like'" + m_strPhone +"')";
bFlag = true;
}if(bFlag) strSql = "SELECT * FROM Customer WHERE " + str;
else strSql = "SELECT * FROM Customer";