Редактировать данные из списка в моей SQL базе данных - PullRequest
0 голосов
/ 04 мая 2020

Название таблицы: рекорды

Всякий раз, когда я хочу отредактировать выбранную регистрацию (со свойствами gamer и hscore), значение моего игрока превращается в «0», а рекорд остается неизменным.

Для Например, я ввел пользователя: Эндрю с 332 баллами рекордов, и я хочу редактировать в Зак с 009 баллами рекордов, превращается в 0, а рекорд остается 332 (предыдущая регистрация рекордов)

Основная задача программы вставлять, редактировать и удалять данные из списка в базу данных MySQL.

Это мой оригинальный метод:

public static void edit(Highscore hs)
    {
        MySqlConnection con = DBConnection.getConnection();

        if (con == null)
        {
            throw new Exception("Conexiunea la baza de date nu s-a realizat.");
        }

        MySqlCommand cmd = con.CreateCommand();

        cmd.CommandText = "UPDATE highscores SET gamer=@gamer,highscore=@hscore WHERE id=@id ";
        cmd.Parameters.AddWithValue("@gamer", hs.Gamer);
        cmd.Parameters.AddWithValue("@hscore", hs.Hscore);
        cmd.Parameters.AddWithValue("@id", hs.Id);



        if (cmd.ExecuteNonQuery() != 1)
        {
            throw new Exception("Editarea nu s-a putut face.");
        }

        con.Close();

    }

, и я хочу вызвать метод в классе Main :

 private void edit_Click(object sender, EventArgs e)
    {
        DialogResult resDiag = MessageBox.Show("Sunteti sigur ca doriti sa editati aceasta inregistrare?", "EDITEAZA", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);



        if (resDiag == DialogResult.Yes)
        {

            Highscore hs = listBox1.SelectedItem as Highscore;
            HighscoresDAO.edit(hs);


            button1_Click(this, null);



        }
        else
        {
            return;
        }

    }

1 Ответ

0 голосов
/ 04 мая 2020

Проблема решена! Я забыл указать правильные параметры.

...