数据库查询!
    tmpstr = "select * from customer where telephone1=" & TransSQLChar(txtTelephone.Text) & _
            " or telephone2=" & TransSQLChar(txtTelephone.Text) & _
            " or fax=" & TransSQLChar(txtTelephone.Text)
    rs.Open tmpstr, pADO.Connectiontmpstr = "select * from customer where telephone1=" & TransSQLChar(Trim(m_telephone)) & _
            " or telephone2=" & TransSQLChar(Trim(m_telephone)) & _
            " or fax=" & TransSQLChar(Trim(m_telephone))
     Set rs = pADO.Connection.Execute(tmpstr, , adCmdText)两段代码实际上是一样的。都是要查找一条记录。
           其中第二段代码中m_telephone=txttelephone.text
可是执行起来效果却不一样。
      第一段显示是对的。可是第二段却总是显示最后一条。
这是为什么?郁闷!请大家帮忙!

解决方案 »

  1.   

    运行后看看两段tmpstr的值
    然后再查询分析器中执行看看
      

  2.   

    可以 在条件最后 用order by 排一下序
      

  3.   

    需要说一下的是,第一段是在一个窗体中,第二段是在另外一个窗体中。
    m_telephone 是在其中一个窗体中赋值的。在另外一个窗体中调用。
    大家帮忙!
      

  4.   

    这个当然出错了.例如你在FORM1中定义的m_telephone,那么在form2中调用它的数据就要写成form1.m_telephone,不然程序就会认为这是你定义的新的变量。
      

  5.   

    提示什么错误?莫不是你的ado控件没连接对?
      

  6.   

    Destory:
        MsgBox Err.Description, vbCritical, "提示"
    只是弹出一个提示的警告条。
    什么也没有,内容为空。
    我也不知道为什么!
      

  7.   

    tmpstr = "select * from customer where telephone1=" & Trim(formX.m_telephone) & 
                " or telephone2=" & Trim(formX.m_telephone) & _
                " or fax=" & Trim(formX.m_telephone)
         Set rs = pADO.Connection.Execute(tmpstr, , adCmdText)
    再看看你定义的telephone1、2、fax的类型,如果是字符串型的就要加单引号
      

  8.   

    TransSQLChar是个自定函数,它对传入的字符串进行格式化,并且加上单引号?代码只有trim一处不一样,设置断点,看看两个tmpstr一样不(尤其要注意空格,当字段类型为char时,空格会影响查询结果)?
    你的那个pADO是什么东西啊?怎么有点看不明白?
      

  9.   

    TransSQLChar就像你说的,就是那个意思!