problem z typem danych

0

Podczas wykonywania funkcji pojawia się problem z typem danych:

Samochody.dodajSamochod(Convert.ToInt32(txtIdSamochodu.Text), Convert.ToInt32(txtNrKlienta.Text), txtNazwa.Text, txtCena.Text, txtMarka.Text,
Convert.ToInt32(numericRocznik.Value), dateDataRezerwacji.Value, txtOpis.Text);

A oto cała metoda:

   public static bool dodajSamochod(int idSamochodu, int nrKlienta, string nazwa, string cena, string marka, int rocznik, DateTime dataRezerwawcji, string opis, bool wyswietlPowaidomienie = true)
    {
        bool wynik = false;

        try
        {
            if(connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }

            zapytanie = string.Format("select count(id) from samochody where IdSamochodu={0}", idSamochodu);
            komenda = new SQLiteCommand(zapytanie, connection);
            int liczbaId = Convert.ToInt32(komenda.ExecuteScalar());

            if(liczbaId == 0)
            {
                zapytanie = string.Format("insert into samochody(IdSamochodu, NrKlienta, Nazwa, Cena, Marka, DataRezerwacji, Opis) "
                    + "values({0}, {1}, '{2}', '{3}', '{4}', {5}, '{6}', '{7}')", idSamochodu, nrKlienta, nazwa, cena, marka, rocznik, dataRezerwawcji, opis);

                komenda.CommandText = zapytanie;
                komenda.ExecuteNonQuery();
                wynik = true;

                if(wyswietlPowaidomienie)
                {
                    MessageBox.Show("Dodano nowy samochód!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else if(liczbaId > 0)
            {
                MessageBox.Show(string.Format("Samochód o id '{0}' już istnieje!", idSamochodu), "Ostrzeżenie", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                wynik = false;
            }
        }
        catch(Exception e)
        {
            string error = string.Format("Podczas dodawania samochodu wystąpił błąd :n\\{0}", e.Message);
            MessageBox.Show(error, "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
            wynik = false;
        }
        finally
        {
            connection.Close();
        }

        return wynik;
    }
0

Input string was not in a correct format.

0
Kluska11 napisał(a):

Input string was not in a correct format.

Debuguj, sprawdź w którym momencie wywala ci wyjątek i spróbuj rozwiązać.
Spróbuj również

dataRezerwacji.ToString();

Chodzi mi o rozszerzającą metodę,niekoniecznie ToString, ale jest coś takiego jak ToShortDateString(), bo możliwe, że sql dostaje datę w złym formacie.

0

Sprawdź StackTrace błędu i napisz w której dokładnie linijce generowany jest wyjątek.

0

in C:\Users\Kamil\Desktop\proste operacje na bazie\proste operacje na bazie\Form1.cs:line 79

0

czyli gdzieś w tym miejscu: Samochody.dodajSamochod(Convert.ToInt32(txtIdSamochodu.Text), Convert.ToInt32(txtNrKlienta.Text), txtNazwa.Text, txtCena.Text, txtMarka.Text,

0

ogólnie prawie kazdy parametr oprocz NrKlienta i Id zaznacza mi na czerwono

0

dziwne bo mi wywala błąd od razu przy nagłówku funkcji, wiec cos wartościami text boxów musi być nie tak

1 użytkowników online, w tym zalogowanych: 0, gości: 1