1

我的代码有问题。我想制作一个没有重复帐户的登录系统 C#。谁能帮我这样做?帮助将不胜感激!

    private void enterButton_Click(object sender, EventArgs e)
    {
        con.Open();

        SqlCommand da = new SqlCommand("SELECT * FROM RegTable", con);

        SqlDataReader reader = null;
        reader = da.ExecuteReader();
        while (reader.Read())
        {
            if (usernameTextBox.Text == (reader["Username"].ToString()) && PasswordtextBox.Text == (reader["Password"].ToString()))
            {
                MessageBox.Show("Welcome!");
                canForm x = new canForm();
                x.ShowDialog();
                this.Hide();
                con.Close();

            }

            else
            {
                MessageBox.Show("Account Doesn't Exist");
            }

        }

   }
4

2 回答 2

0

您正在制作自己的Membership系统,因此您应该创建Sessions表,然后存储您的会话信息,例如:LoggedUser, TimeLoggedOn. 在每次登录时,您应该检查该用户是否已经登录。

需要考虑的事情:会话到期(当用户关闭浏览器而不注销时)。

于 2012-10-10T13:32:10.443 回答
0

在数据库的用户表中,添加一个名为 LoggedIn (true, false) 的字段,并在登录时检查用户是否将此字段设置为 true 或 false。

如果登录会话过期,则捕获会话过期事件并更新此字段 t 并将其设置为 false。

还要捕获应用程序关闭事件并执行相同操作。

要访问浏览器关闭事件,请查看 如何捕获浏览器窗口关闭事件?

希望这可以帮助。

于 2012-10-10T13:58:40.920 回答