0

我正在尝试将用户添加到某个角色,我得到“用户已经在角色中。”,用户实际上没有任何角色,我跟踪了在 Roles.IsUserInRole(user_name) 后面运行的查询,如下所示:

SELECT COUNT(*) FROM my_aspnet_usersinroles uir 
JOIN my_aspnet_users u ON uir.userId=u.id
JOIN my_aspnet_roles r ON uir.roleId=r.id
WHERE u.applicationId=1 AND 
u.name LIKE 'user_name' AND r.name LIKE 'rolename'

现在的问题是我有另一个用户(user.name)并且这个用户已经在那个角色中,但是由于(_)在类似的模式中我得到了这个结果。请注意,我正在使用 MySql 会员提供程序,有什么想法吗?

谢谢

4

2 回答 2

1

您应该能够使用 [] 或 ESCAPE 子句转义下划线字符(更适合您的情况。)

http://web.archive.org/web/20150519072547/http://sqlserver2000.databases.aspfaq.com:80/how-do-i-search-for-special-characters-eg-in-sql-server。 html

请原谅 SQL2000 参考...

于 2012-04-30T14:57:34.663 回答
0

LIKE 子句中的下划线充当通配符,因此该位置的任何字符都将匹配。

如果您正在寻找特定记录,为什么不这样做 WHERE u.name = 'user_name' ?

于 2012-04-30T14:46:40.020 回答