我试图根据他登录时存储的登录ip地址来命名Select用户名,
我有两张桌子
这是我的sql语句
Select users.username from users,sessions where user_id = se_user AND se_ip = '" + HttpContext.Current.Request.UserHostAddress + "';我在DetailsView中使用DataSource Configurations上的这个sql语句,但它似乎不起作用
有什么问题吗?
发布于 2010-12-15 18:40:15
首先,您应该使用正确的JOIN,而不是旧版本。看起来,您一直在比较se_ip和相同的字符串。如果您在C#中定义了该语句,我认为您的引号有问题。在simple引号中,'定义字符串,在C# doble引号中,"定义字符串。因此,在C#中,yo应该像这样定义您的查询:
"Select users.username
from users JOIN [sessions]
ON users.[USER_ID] = [sessions].se_user
where se_ip = '" + HttpContext.Current.Request.UserHostAddress + '"发布于 2010-12-15 18:42:17
我会小心使用IP地址,因为大多数来自家庭或办公室内部的用户都分配了一个动态IP地址。在一段时间内,这很可能是相同的,但是如果他们碰巧得到了一个新地址(调制解调器重置,离线一段时间等等),那么您就不能再信任该IP地址了。
我假设你已经整合了这一点,但是万一有人出现并决定使用这个想法,他们应该知道这一点。
https://stackoverflow.com/questions/4453441
复制相似问题