【问题标题】:How to get the value in table while knowing other value in the same entry?如何在知道同一条目中的其他值的同时获取表中的值?
【发布时间】:2012-08-27 01:59:01
【问题描述】:

我有一个membership 表,其中包括

MemberID(int), 
Username(varchar16), 
Password... etc.

如果我只知道用户名,我将如何获得 MemberID?我正在使用 SQL ASP.Net C#。

【问题讨论】:

  • 如果您使用的是会员基础架构,为什么不使用它呢?您只能通过用户名检索用户。
  • GetUser(string, bool)MembershipProvider

标签: c# asp.net sql database search


【解决方案1】:

既然您知道username 的值。将其用作 where 子句中的条件。我在这里假设username 是唯一的,否则您将拥有与指定用户名匹配的所有成员的 ID。

SELECT MemberID
FROM Membership
WHERE Username = 'usernameHere'

试试这个,因为您使用的是 ADO.Net

// other codes heres 
string MemberID = cmd.ExecuteScalar().ToString();
// the MemberID variable already holds the value of the ID
// that matches your username.

【讨论】:

  • 到目前为止,我想我对如何将它存储到 int 变量中感到困惑。这是在网页(aspx.cs)上,我有 new SqlCommand("SELECT MemberID...") 我将如何在我的页面上使用 MemberID?
【解决方案2】:
SELECT MemberId FROM Member WHERE UserName = 'username'

假设 UserName 不是唯一列,它将返回与用户名匹配的多行 所以你最好在查询中添加一个 TOP(1) 。 否则您可以执行 SqlCommand.ExecuteScalar(),这将返回与用户名匹配的第一个 MemberId

SqlCommand.ExecuteScalar()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    相关资源
    最近更新 更多