sql = "select   *   from   内柜销售总库   where  销售员= '" & 销售员 & " '   and  实售价= '" & 实售价 & " '"
这条语句是关于多条件查询的,在两个文本框同时符合条件时可以实现查询,但如果只填其中一个则不能查询,本人如果想要实现只输入一个也可查询,输入多个也同样可以查询,要用什么语句,请高手赐教

解决方案 »

  1.   

    这个好实现啊,先做判断:
    CString str = "select * from  内柜销售总库 where";
    CString strTemp;if(!m_strsalesman.isEmpty())//m_strsalesman 是与对话框关联的成员变量
    {
      strTemp.Format("销售员=%s and",m_strsalesman);
    }
    if(!m_strsalesprice.isEmpty())
    {
      strTemp.Format("实售价=%s and",m_strsalesprice);
    }
    同样,其他的判断条件在此写。str += strTemp;
    str = str.Left(str.GetLength() - 4);//用于去掉末尾 的一个“and”操作数据库的语句在此
     
      

  2.   

    不好意思 漏掉了一点:
    这个好实现啊,先做判断:
    CString str = "select * from 内柜销售总库 where";
    CString strTemp;if(!m_strsalesman.isEmpty())//m_strsalesman 是与对话框关联的成员变量
    {
      strTemp.Format("销售员=%s and",m_strsalesman);
      str += strTemp;//每个判断语句里都要加
    }
    if(!m_strsalesprice.isEmpty())
    {
      strTemp.Format("实售价=%s and",m_strsalesprice);
      str += strTemp;
    }
    同样,其他的判断条件在此写。str += strTemp;//
    str = str.Left(str.GetLength() - 4);//用于去掉末尾 的一个“and”操作数据库的语句在此