C# 仅当用户名与数据库相同时,才会执行与数据库的连接

C# 仅当用户名与数据库相同时,才会执行与数据库的连接,c#,database,winforms,C#,Database,Winforms,我在登录用户时遇到问题。每当我运行程序时,程序都不会执行Wait表单,除非用户名与数据库相同 我想知道,无论何时用户在数据库中输入不同的用户名,都会执行等待表单,而不仅仅是当用户名与数据库相同时 代码如下: private void CheckUserDatabase(object sender, EventArgs e) { using (OleDbConnection conn = new OleDbConnection(connectionString)) {

我在登录用户时遇到问题。每当我运行程序时,程序都不会执行
Wait
表单,除非
用户名
与数据库相同

我想知道,无论何时用户在数据库中输入不同的
用户名
,都会执行
等待
表单,而不仅仅是当
用户名
与数据库相同时

代码如下:

private void CheckUserDatabase(object sender, EventArgs e)
{
    using (OleDbConnection conn = new OleDbConnection(connectionString))
    {
        string query = "SELECT * FROM [Member] WHERE [Username] = @Username";

        conn.Open();

        using (OleDbCommand cmd = new OleDbCommand(query, conn))
        {
            cmd.Parameters.Add("@Username", System.Data.OleDb.OleDbType.VarChar);
            cmd.Parameters["@Username"].Value = this.textBox1.Text;

            using (OleDbDataReader dReader = cmd.ExecuteReader())
            {
                if (dReader.Read())
                {
                    _wait.ShowDialog();

                    UserInformation.CurrentLoggedInUserLanguage = comboBox1.Text;
                    UserInformation.Password = (string)dReader["Password"];

                    isValidPassword = BCrypt.CheckPassword(this.textBox2.Text, UserInformation.Password);

                    if (isValidPassword)
                    {
                        System.Media.SoundPlayer sound = new System.Media.SoundPlayer(@"C:\Windows\Media\Windows Exclamation.wav");
                        sound.Play();

                        DialogResult _dialogResult = MessageBox.Show("Verified", "Congratulations", MessageBoxButtons.OK);

                        if (_dialogResult == DialogResult.OK)
                        {
                            UserInformation.CurrentLoggedInName = (string)dReader["ChosenName"];
                            UserInformation.CurrentLoggedInUser = (string)dReader["Username"];
                            UserInformation.CurrentLoggedInUserType = (string)dReader["UserType"];
                            UserInformation.CurrentLoggedInUserStore = (string)dReader["UserStore"];

                            this.Hide();

                            Choices _choices = new Choices();
                            _choices.ShowDialog();

                            this.Close();
                        }
                    }
                    else if (!isValidPassword)
                    {
                        System.Media.SoundPlayer sound = new System.Media.SoundPlayer(@"C:\Windows\Media\Windows Notify.wav");
                        sound.Play();

                        DialogResult _dialogResult = MessageBox.Show("Not Verified", "Warning", MessageBoxButtons.OK);

                        if (_dialogResult == DialogResult.OK)
                        {
                            Validation(sender, e);

                            RecursiveClearTextBoxes(this.Controls);
                        }
                    }
                }

                dReader.Close();
            }
        }

        conn.Close();
    }
}

private void button1_Click(object sender, EventArgs e)
{
    CheckUserDatabase(sender, e);
}
图为:

信息:
这个.textBox2.Text
密码
文本框,
这个.textBox1.Text
用户名
文本框,
按钮1\u点击
登录
按钮。

注意:
\u wait.ShowDialog
wait
表单,如下图所示:

更改此选项:

private void button1_Click(object sender, EventArgs e)
{
    CheckUserDatabase(sender, e);
}
为此:

private void button1_Click(object sender, EventArgs e)
{
    _wait.ShowDialog();
    CheckUserDatabase(sender, e);
}
并删除
\u wait.ShowDialog()来自
CheckUserDatabase()
方法