Błąd przy pobieraniu danych C# + SQŁ

0

Witam mam mały problem. Zacznę od początku pobieram do Comboboxa nazwę produktu i teraz chcę pobrać z bazy cenę która jest przypisana do konkretnej nazwy i pomnożyć ją przez ilość i wyliczyć wartość końcową. Na razie mam to tak ale wywala mi błąd i nie wiem jak to poprawić. Pomożecie??

private void txtIlosc_Leave(object sender, EventArgs e)
{
var cena = (from x in baza.podzial_tuszy_miesas
                select x.cena).ToList();
var koszt = cena * Convert.ToDecimal(txtIlosc.Text);
txtWartosc.Text = koszt.ToString();
}

Próbowałem zamiast

ToList

dać FirstOrDefault

....
0

Jaki błąd Ci wywala? Na której linijce?
Nie do końca rozumiem jak dostajesz konkretną nazwę i cenę.
Twoje zapytanie robi coś takiego: z X w tabeli podzial_tuszy_miesas wybierz x.cena.
Wydaje mi sie ze takie zapytanie zwroci Ci liste cen z calej tej tabeli.

0

W załączniku wrzuciłem fotkę co chce osiągnąć. Dobrze rozumujesz to zapytanie. A błąd mam taki:

Error 1 Operator '*' cannot be applied to operands of type 'System.Linq.IQueryable<decimal>' and 'decimal'

1

Jakim cudem tam masz IQueryable jeśli dałeś ToList?
Powinno raczej być

var cena = (from x in baza.podzial_tuszy_miesas
                where x.nazwa == "twoja nazwa"
                select x.cena).First();
0

Wielkie dzięki już działa :) musiałem też zmienić nazwę cena bo mi się dublowało i teraz dzięki Tobie działa :)

0

To może jeszcze mi pomożesz ale tego nawet nie wiem jak ruszyć :/

Powiedzmy że chce zrobić magazyn połączony z dostawami. Ogólnie piszę program do rzeźni. Wracając do tematu chce zrobić tak że wybieram zwierze które waży, np. 100kg i chce aby według podziału który jest zapisany w bazie podzieliło mi to 100kg na różne rodzaje mięsa i zapisało do magazynu.

Podpowiesz jak to ruszyć?

0

Pokaż model i ten przelicznik.

0

W załączniku jest schemat bazy i przelicznik. Przelicznik znajduje się w tabeli podzial_tuszy_miesa. Dostawy towaru natomiast zapisywane są w tabeli inwentarz. Na diagramie nie ma tabeli magazyn do której wyciągam id_inwentarz (czyli id dostawy), id_gatunek (czyli id danego rodzaju miesa no i ilość (czyli ilość mięsa tego już podzielonego i sumowanego po każdej dostawie. Coś takiego mam nadzieje że dobrze opisałem.

0

Dam1an i jak tam wymyśliłeś coś? :)

0

tabela podzial_tuszy_miesa zawiera tylko jakas cene i nazwe. Ja totalnie nie rozumiem tego.
Wez napisz to w krokach. Co sie dzieje po kolei.

0

Ja pierdziele sory chłopaki :D zamiast kolumny cena powinno być napisane jak jest na zdjęciu przelicznik.pgn czyli zamiast ceny powinnien byc podział wybaczcie.

0

Dobra postaram się to ogarnąć w krokach.

1 - dodawanie dostaw oraz wybranie zwierzęcia,np krowy. Podanie wagi tego zwierzęcia i dodanie.
2 - z dostawy pobranie jakie zwierze zostało wybrane, pobranie wagi
3 - według pkt 2 podzielenie, np krowy na odpowiednie rodzaje mięs, np schabu w świni jest 12% czyli ze 100kg będzie 12kg schabu
4 - zapisanie tego do tabeli magazyn i wyświetlenie w DataGriedView.

Coś takiego mniej więcej i tak dla każdego zwierzęcia i każdego mięsa.
Zwierząt są 4 rodzaje.

0

Dwa powyższe posty są moje tylko zapomniałem się zalogować... :/

0

Nie można by tego zrobić np tak że biorę wagę z tabeli inwentarz i z tabeli podzial_tuszy_miesa podział i rodza mięsa i zrobić tak że jeśli wybrano zwierze 1 to pomnóż waga razy wszystkie gatunki jeśli wybrano zwierze 2 to przez inne jeśli zwierze 3 to przez odpowiedni i jeśli zwierze 4 to przez kolejne odpowiadające??

0

Może to wam pomoże przynajmniej w nakierowaniu mnie jak to zacząć :)

1

No to w takim razie w czym masz problem ?
Na podstawie tabeli Podzial_Tuszy_Miesa bierzesz po kolei każdy rekord i odpowiednio mnożysz a potem kazdy wynik zapisujesz do Magazyn.

0

Dobra chłopaki po sporych walkach poradziłem sobie z tym magazynem :D ale teraz pojawił mi się dziwny problem... przy dodawaniu zamówień dopisałem żeby mi z magazynu odejmowało i teraz sypie mi się o daty nie wiem dlaczego... wcześniej wszystko działało :/
Błąd:
when converting a string to datetime parse the string to take the date before

0

Pokaż zapytanie na którym wywala ten błąd.

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