我正在一个项目中,我有一个员工注册页面,员工可以在其中注册自己并选择他们的用户ID和密码,这些都保存在SQL数据库中。我想使用该用户ID和密码登录。
答案 0 :(得分:4)
好吧,在我开始之前,让我们谈谈我将不得不做出的假设,因为你在问题中几乎没有提供任何信息。请记住,我必须做出这些假设,以便我能提供某种答案。
我将假设数据库架构看起来像这样:
... TABLE users (
userid INT PRIMARY KEY IDENTITY (1, 1),
username VARCHAR(50),
password VARCHAR(50)
)
我将假设网络表单看起来像这样:
<asp:TextBox ID="username" runat="server" />
<asp:TextBox ID="password" runat="server" />
<asp:Button ID="login" Text="Login" runat="server" />
好吧,现在我做了一些假设,这就是你如何用我所做的假设做到的。首先,我们将连接Click
事件:
<asp:Button ID="login" Text="Login" runat="server" OnClick="LoginUser" />
然后我们需要后面代码中的事件处理程序:
public void LoginUser(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(connectionString);
cn.Open();
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM users WHERE username = @username AND password = @password", cn);
using (cn)
{
sda.SelectCommand.Parameters.AddWithValue("@username", this.username.Text);
sda.SelectCommand.Parameters.AddWithValue("@password", this.password.Text);
sda.Fill(dt);
if (dt.Rows.Count == 0)
{
// do something here, like show a label stating that the username
// and password combination didn't match
return;
}
// if you get here then it was a valid login
}
}
我在我的例子中做了一个假设,为了简单和简洁起见,我在数据库中没有加密密码。你应该。但是,如果你没有这样做,你可以添加到这个例子中。