функция входа в форму Visual Studio C# windows, подключенная к базе данных MS Access 2000 - 2003. Исследовал и пытался исправить безрезультатно - PullRequest
0 голосов
/ 19 марта 2020

Когда я пытаюсь запустить приложение и вставить сохраненные имя пользователя и пароль или случайные символы, вместо предполагаемого сообщения проверки появляется сообщение об ошибке. Код ниже:

    private void btnLogin_Click(object sender, EventArgs e)
    {
        //Connection Login form to SQL Database login table to get username and password
        SqlConnection sqlcon = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\mbewe\Documents\Visual Studio 2019\VS Projects\ZRA Transport Requisition\LoginDB.mdb");
        string query = "Select * from Logininfo where Username = '" + tbUsername.Text.Trim() + "'and Password= '" + tbPassword.Text.Trim() + "'";
        SqlDataAdapter sda = new SqlDataAdapter(query, sqlcon);
        DataTable dtbl = new DataTable();
        sda.Fill(dtbl);
        if (dtbl.Rows.Count == 1)
        {
            //Setting which form to open once username and password have been confirmed
            frmRD objFrmRD = new frmRD();
            this.Hide();
            objFrmRD.Show();
        }
        else
        {
            //Setting message to be shown when username and password do not exist in the database
            MessageBox.Show("Check Your Username and Password");
        }
    }

Отображаемая ошибка: enter image description here

1 Ответ

1 голос
/ 20 марта 2020

Как уже говорили другие, вам нужно использовать OleDbConnection.

Я изменяю предоставленный вами код, который может успешно проверить имя пользователя и пароль.

 private void button1_Click(object sender, EventArgs e)
        {
            OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\School.mdb");
            con.Open();
            string query = "Select * from Logininfo where Username = '" + tbUsername.Text.Trim() + "'and Password= '" + tbPassword.Text.Trim() + "'";
            OleDbDataAdapter sda = new OleDbDataAdapter(query, con);
            DataTable dtbl = new DataTable();
            sda.Fill(dtbl);
            if (dtbl.Rows.Count == 1)
            {
                MessageBox.Show("success");
                //Setting which form to open once username and password have been confirmed
                Form2 form = new Form2();
                this.Hide();
                form.Show();
            }
            else
            {
                //Setting message to be shown when username and password do not exist in the database
                MessageBox.Show("Check Your Username and Password");
            }


        }

Проверенный результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...