Код выполняется, но команда UPDATE не обновляет данные в таблице - PullRequest
0 голосов
/ 27 апреля 2019

Я должен написать код, который обновит пароль пользователя.Необходимо ввести имя пользователя (Brugernavn), пароль (Adgangskode), новый пароль и подтвердить пароль.Код выполняется, но команда UPDATE не обновляет пароль.

До сих пор я пробовал использовать этот код (я знаю, что следует использовать параметризованный запрос, но я не имею ни малейшего представления о том, как написать такой запрос, хотя это комбинация SELECT и UPDATEоператоры):

private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=.\\SQLEXPRESS01;Initial Catalog=Vagtplan;Integrated Security=True");
            SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM dbo.Login_data WHERE Brugernavn='" + textBox1.Text + "' AND Adgangskode='" + textBox2.Text + "'", con);

        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sda.Fill(dt);
        ErrorProvider errorProvider1 = new ErrorProvider();
        errorProvider1.Clear();

        if(dt.Rows[0][0].ToString() == "1")
        {
            if(textBox3.Text == textBox4.Text)
            {
                SqlDataAdapter sda1 = new SqlDataAdapter("UPDATE dbo.Login_data SET Adgangskode='" + textBox3.Text + "' WHERE Brugernavn='" + textBox1.Text + "' AND Adgangskode='" + textBox2.Text + "'", con);
                MessageBox.Show("Adgangskoden er skiftet.", "Bekræftelse", MessageBoxButtons.OK);
            }
            else
            {
                errorProvider1.SetError(textBox3, "Adgangskode passer ikke");
                errorProvider1.SetError(textBox4, "Adgangskode passer ikke");
            }
        }
        else
        {
            errorProvider1.SetError(textBox1, "Du har tastet forkert brugernavn");
            errorProvider1.SetError(textBox2, "Du har tastet forkert adgangskode");
        }

    }

Ожидаемый результат - пароль будет обновлен.

1 Ответ

0 голосов
/ 27 апреля 2019

Вместо использования SqlAdapter для вашего оператора обновления создайте новый SqlCommand, как вы делаете для оператора Select.Затем вызовите метод ExecuteNonQuery для объекта SqlCommand.

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