2012-12-22 28 views
0

用於登錄的代碼使用ms access,它工作正常。但是,我需要將數據庫更改爲ms sql 2008,並且sql strcomp不起作用。那麼,我需要strcomp替代sql或如何使下面的代碼與ms sql數據庫工作?strcomp不能使用ms sql

Set rs = con.Execute("SELECT * FROM Users where StrComp(UserName, '" & sfindtext & "', 0) = 0") 

If rs.EOF Then 
    recfound = False 
Else 
    With rs 
    recfound = True 
    UserID = !UserID 
    Username = !Username 
    Password = !UPassword 
    Privilege = !Privilege 
    End With 
End If 

回答

3

您可以使用CASE語句來檢查sfindtext的價值:

Set rs = con.Execute(" 
SELECT * 
FROM Users 
where (case when UserName = '" & sfindtext & "' then 0 else 1 end) = 0") 

下面是查詢工作

SQL Fiddle Demo或者你甚至不需要邏輯CASE件:

Set rs = con.Execute(" 
SELECT * 
FROM Users 
where UserName = '" & sfindtext & "'" 
+0

that works .. thnx bluefeet – Biplob