strcomp无法使用ms sql

时间:2012-12-22 11:54:44

标签: sql-server-2008 ms-access vb6

用于使用ms access登录的代码,它运行正常。但是,我需要将数据库更改为ms sql 2008,而sql strcomp中的数据库不起作用。那么,我是否需要strcompsql的替代方法,或者我如何才能使下面的代码与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

1 个答案:

答案 0 :(得分: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 & "'"