在编写用户有多种方式登录的时候,SQL语句是这样写的“SELECT * FROM users
                             WHERE (Pwd = @pwd) AND (abNumber = @ab) OR
                            (Pwd = @pwd) AND (bbNumber = @bb) OR
                            (Pwd = @pwd) AND (ccNumber = @cc) OR
                            (Pwd = @pwd) AND (CallCenterNumber=@hujiao) OR
                            (Pwd = @pwd) AND (MsgNumber = @msg) OR
                            (Pwd = @pwd) AND (XunHuNumber = @xunhu) OR
                            (Pwd = @pwd) AND (CunChuNumber = @cunchu) OR
                            (Pwd = @pwd) AND (VirtualNumber = @vpn) OR
                            (Pwd = @pwd) AND (DataExNumber = @dataex) OR
                            (Pwd=@pwd) AND (VsatNumber = @VsatNumber)
在本地测试可以找出数据,但是上传服务器查询出来的数据不对,为什么啊?注:在本地是sql server2005,服务器上是sql server 2000,但是直接在服务器上的查询分析器里执行上述语句,都能查询出数据,为什么啊?

解决方案 »

  1.   

    SELECT * FROM users 
                                WHERE (Pwd = @pwd  AND  abNumber = @ab) OR 
                                (Pwd = @pwd  AND  bbNumber = @bb) OR 
                                (Pwd = @pwd  AND  ccNumber = @cc) OR 
                                (Pwd = @pwd  AND  CallCenterNumber=@hujiao) OR 
                                (Pwd = @pwd  AND  MsgNumber = @msg) OR 
                                (Pwd = @pwd  AND  XunHuNumber = @xunhu) OR 
                                (Pwd = @pwd AND  CunChuNumber = @cunchu) OR 
                                (Pwd = @pwd  AND  VirtualNumber = @vpn) OR 
                                (Pwd = @pwd  AND  DataExNumber = @dataex) OR 
                                (Pwd=@pwd  AND  VsatNumber = @VsatNumber) 
      

  2.   

    SELECT * FROM users 
                                WHERE (Pwd = @pwd  AND  abNumber = @ab) OR 
                                (Pwd = @pwd  AND  bbNumber = @bb) OR 
                                (Pwd = @pwd  AND  ccNumber = @cc) OR 
                                (Pwd = @pwd  AND  CallCenterNumber=@hujiao) OR 
                                (Pwd = @pwd  AND  MsgNumber = @msg) OR 
                                (Pwd = @pwd  AND  XunHuNumber = @xunhu) OR 
                                (Pwd = @pwd AND  CunChuNumber = @cunchu) OR 
                                (Pwd = @pwd  AND  VirtualNumber = @vpn) OR 
                                (Pwd = @pwd  AND  DataExNumber = @dataex) OR 
                                (Pwd=@pwd  AND  VsatNumber = @VsatNumber) 
      

  3.   

    把它放在sql server 2005的查询分析器后,自动生成我发的那段代码,为什么啊?
      

  4.   


    --语句有问题:
    SELECT * FROM users WHERE (Pwd = @pwd  AND  abNumber = @ab) OR 
    (Pwd = @pwd  AND  bbNumber = @bb) OR 
    (Pwd = @pwd  AND  ccNumber = @cc) OR 
    (Pwd = @pwd  AND  CallCenterNumber=@hujiao) OR 
    (Pwd = @pwd  AND  MsgNumber = @msg) OR 
    (Pwd = @pwd  AND  XunHuNumber = @xunhu) OR 
    (Pwd = @pwd AND  CunChuNumber = @cunchu) OR 
    (Pwd = @pwd  AND  VirtualNumber = @vpn) OR 
    (Pwd = @pwd  AND  DataExNumber = @dataex) OR 
    (Pwd=@pwd  AND  VsatNumber = @VsatNumber) 
      

  5.   

    括号加不加一样的 AND 优先于 OR