C# LinqToSQL - "Input String Was Not In A Correct Format"

0

Witam,

mam problem z wykonaniem zapytania do bazy przy użyciu Linq To Sql, otrzymuję błąd:

Exception has been thrown by the target of an invocation.
Inner Exception:
"Input string was not in a correct format."
Stack trace:

   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at System.Convert.ToInt32(String value)

Jest to proste zapytanie zagnieżdżone w poprzednim, odwołuje się do dwóch tabel w bazie i porównuje ich parametr IDProduct. Konstruowałem to zapytanie również z użyciem JOIN, ale problem był ten sam - wykonanie zapytania do tabeli PsProduct.
Pierwsze zapytanie pobiera z tabeli PsProductLang listę pasujących produktów - następnie dla każdego wykonane jest zapytanie do tabeli PsProduct z porównaniem numerów IDProduct - tutaj debuger wysypuje błąd.

Poniżej kod programu:

 var update = (from s in conn_synch.PsProductLang
                                         where s.NumerKat == produkt
                                         select s).ToList();

                            foreach (var s in update)
                            {
                                var update1 = (from s1 in conn_synch2.PsProduct
                                              where s1.IDProduct == s.IDProduct
                                              select s1).First();

                                update1.Price = cena;
                                update1.Quantity = stan;                                                                                             
                            }

Po treści błędu można wywnioskować błędną konwersję typów danych, ale nic takiego chyba nie ma tutaj miejsca.
Z góry dzięki za podpowiedzi.

0
shao napisał(a):

Po treści błędu można wywnioskować błędną konwersję typów danych, ale nic takiego chyba nie ma tutaj miejsca.

No właśnie treść błędów i ślad stosu jednoznacznie wskazuje na próbę zamiany string na int co się nie powodzi. Nie korzystałem z LinqToSql więc za wiele tutaj chyba nie pomogę. Powiedz tylko czy wkleiłeś cały ślad stosu?

0

Nie masz debuggera?

Jeśli muszę zgadywać to:

where s.NumerKat == produkt
0

<quote="840284">

shao napisał(a):

Powiedz tylko czy wkleiłeś cały ślad stosu?

Tak, to co wkleiłem to niestety całość.

j_s_r_n napisał(a):

Nie masz debuggera?

Jeśli muszę zgadywać to:

where s.NumerKat == produkt

Kolego, mam debuger i dzielnie z niego korzystam, ale błąd do ddebugera zwraca baza danych więc sam debuger nie jest w stanie powiedzieć mi nic więcej.
Błąd w where s.NumerKat == produkt odpada, tymbardziej że to drugie zapytanie jest problematyczne a nie pierwsze. Pierwsze zapytanie poprawnie zwraca wyniki.

0

Możesz podać strukturę bazy - tą cześć której to dotyczy i definicję klasy której używasz?

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