C# CS0029 nie można niejawnie przekonwertować int na bool


(AndySheppard) #1

Witam serdecznie,
czy jest ktoś wstanie z tego kawałka kodu podpowiedzieć jakieś rozwiązanie?

private void btnHZmien_Click(object sender, EventArgs e)
    {
        MySqlCommand zapytanie = new MySqlCommand("UPDATE uzytkownik SET haslo = PASSWORD('"+txtHNowe.Text+"') WHERE uzytkownik_id = "+id_uzytkownika+" AND haslo = PASSWORD('"+txtHStare.Text+"');", laczBaze); // utworzenie obiektu z zpaytaniem do bazy danych
        try
        {
            laczBaze.Open();
            if (zapytanie.ExecuteNonQuery())  // CS0029 nie można niejawnie przekonwertować int na bool
            {
                MessageBox.Show("Zmieniłem hasło.");
            }
            else
            {
                MessageBox.Show("Podane hasło jest niepoprawne!");
            }
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

(mktos) #2

Metoda ExecuteNonQuery() zwraca liczbę wierszy które zostały zmodyfikowane przez zapytanie, a nie wartość logiczną prawda/fałsz. Możesz sobie np. sprawdzić czy wynik ExecuteNonQuery() jest większy niż 0.


(AndySheppard) #3

Dziękuję serdecznie za podpowiedź . Poprawiłem. Działa!