0

用于登录的代码ms access,它工作正常。但是,我需要将数据库更改为ms sql 2008并且 insql strcomp不起作用。那么,我是否需要替代strcompinsql或者如何使下面的代码与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
4

1 回答 1

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 & "'"
于 2012-12-22T11:58:57.080 回答