我正在根据他登录时存储的登录IP地址尝试Select
用户名,
我有两张桌子
这是我的sql语句
Select users.username from users,sessions where user_id = se_user AND se_ip = '" + HttpContext.Current.Request.UserHostAddress + "';
我在DetailsView
的{{1}}内使用此sql语句,但它似乎不起作用
问题是什么?
答案 0 :(得分:3)
嗯,首先,您应该使用正确的JOIN而不是旧版本。
看起来你总是将se_ip与相同的字符串进行比较。如果您在C#中定义该语句,我认为您的引号有问题。在SQL中,简单引号'
定义一个字符串,在C#doble引号"
中定义一个字符串。所以在C#中你应该像这样定义你的查询:
"Select users.username
from users JOIN [sessions]
ON users.[USER_ID] = [sessions].se_user
where se_ip = '" + HttpContext.Current.Request.UserHostAddress + '"
答案 1 :(得分:2)
我会小心使用IP地址,因为家中或办公室内的大多数用户都分配了动态IP地址。在一段时间内它很可能是相同的,但如果它们碰巧得到一个新地址(调制解调器重置,离线一段时间等),那么你就不能再相信那个IP地址了。
我假设你已经加入了这个,但万一有人出现并决定使用这个想法,他们应该知道。