Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prikaz najjeftinijeg dobavljača iz tabele

[es] :: .NET :: Prikaz najjeftinijeg dobavljača iz tabele

[ Pregleda: 2286 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Prikaz najjeftinijeg dobavljača iz tabele09.05.2010. u 01:07 - pre 170 meseci
Počeo sam da pravim svoj prvi C# program i naravno imam dosta nedoumica. Program bi trebao da radi sledeće: Kada korisnik unese šifru ili ime artikla da mu program da ime najjeftinijeg dobavljača, i kada odabere artikle za nabavku da može da ih odštampa. Na SQL Express 2008 serveru sam kreirao bazu koja sadrži tabelu Artikli. Tabela artikli ima sledeće kolone: Šifra artikla, Ime artikla, Dobavljač 1, Dobavljač 2, Dobavljač 3, Dobavljač 4, Dobavljač 5. Napravio sam Win formu koja će unositi podatke u ovu tabelu. Sada bih trebao napraviti jednu formu "Naruči artikle" koja će praviti narudžbe proizvoda na sledeći način: Kada korisnik unese šifru ili ime artikla u odgovarajuće ćelije u DataGridView će se dodati novi red sa sledećim kolonama: Redni broj, Ime tog artikla i ime najjeftinijeg dobavljača tog artikla (dakle ime kolone sa najnižom cijenom). E problem je u tome što ne znam da napravim da forma Naruči artikle radi to što treba da radi. Pretpostavljam da treba da stavim neki box koji će na osnovu unosa pronaći red u tabeli i ispisati ga u DataGrid ili mozda podesiti nekako DataGridView da se u njemu unosi Šifra ili Ime artikla pa da se na kraju ispiše ime najjeftinijeg dobavljača? Da budem iskren nije mi važno na koji nalčin ću doći do rješenja pa ako znate neko pomagajte :)

E da, na kraju bih porudžbenicu trebao odštampati pa me zanima da li mogu poslati Report-u podatke iz DataGridView-a direktno ili tu narudžbenicu (DataGrid) moram sačuvati u neku tabelu pa odatle uzimati podatke za štampu Reporta?

Hvala unaprijed........
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.dynamic.isp.telekom.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: Prikaz najjeftinijeg dobavljača iz tabele10.05.2010. u 00:40 - pre 170 meseci
Mala pomoć oko tabela.
Treba ti jedna tabela za artikle, jedna za dobavljače, a jedna za vezu između dobavljača i artikala.
Jer šta ako za jedan artikal imaš 100 dobavljača? Nećeš praviti 100 kolona u tabeli.



Upit kojim vadiš dobavljača sa najnižom cenom je:
Code:

SELECT TOP 1
    d.*,
    ad.CENA
FROM
    ARTIKAL a
    LEFT JOIN ARTIKAL_DOBAVLJAC ad ON a.ARTIKAL_ID = ad.ARTIKAL_ID
    LEFT JOIN DOBAVLJAC d ON ad.DOBAVLJAC_ID = d.DOBAVLJAC_ID
WHERE
    a.SIFRA = '123'
ORDER BY
    CENA 


Ostalo pokušaj sam pa da vidimo gde je zapelo.

Prikačeni fajlovi
 
Odgovor na temu

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Re: Prikaz najjeftinijeg dobavljača iz tabele10.05.2010. u 16:46 - pre 170 meseci
Ovo je daleko kreativnije i meni mnogo jasnije!!!!!

Da li mi možete objasniti značenje unosa u lijevoj koloni svake tabele (PK, FK1, FK2)?

U ovom slučaju ću raditi 3 forme za unos podataka, pretpostavljam?! Jednu za unos dobavljača na osnovu tabele DOBAVLJAC, jednu za unos artikala na osnovu tabele ARTIKAL a treću za unos cijena artikala po dobavljačima?

Da li ću morati praviti i kako četvrtu formu u kojoj ću praviti narudžbe tako da ako ukucam šifru ili naziv artikla u donjem dijelu forme u DataGridView ( ili na neki možda bolji način ) dobijem podatke o artiklu, ime dobavljača i eventualno cijenu tog dobavljača?


P. S. Pošto sam nov u ovoj sferi programiranja nadam se da mi nećete zamjeriti na možda glupim ili nepotrebnim pitanjima, ali imam dosta nedoumica i znam da ću uspjeti da ih riješim samo ako pitam. Unaprijed hvala!!!
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.dynamic.isp.telekom.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: Prikaz najjeftinijeg dobavljača iz tabele10.05.2010. u 20:53 - pre 170 meseci
PK znači primary key.
Tabela ARTIKAL_DOBAVLJAC ima dvostruki primarni ključ jer jedan dobavljač za jedan artikal može da ponudi samo jednu cenu (za sada u ovom primeru).

FK je foreign key.
Ako u tabeli ARTIKAL ne postoji nijedan red gde je ARTIKAL_ID = 3, tada ni u tabeli ARTIKAL_DOBAVLJAC ne može da se unese ta vrednost za ARTIKAL_ID.

Potrebno bi bilo da se naprave 4 forme, baš kako je nabrojano.
Najbolje da pogledaš neku literaturu za ADO.NET, ali po mogućstvu bez upotrebe LINQ-a i Entity Framework-a. To kasnije, kad se nauče ove osnovne stvari.
 
Odgovor na temu

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Re: Prikaz najjeftinijeg dobavljača iz tabele10.05.2010. u 22:03 - pre 170 meseci
Da, čitao sam o ključevima i povezivanju tabela. Ok! Ja cu se sad malo pomuciti da pokušam sve ovo Vaše gore navedeno da sklopim u funkcionalnu cjelinu a onda ću javiti kako je prošlo! ( ili opet pitati :) nešto novo ). Hvala!
 
Odgovor na temu

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Re: Prikaz najjeftinijeg dobavljača iz tabele30.05.2010. u 23:14 - pre 169 meseci
Na početku moram da se izvinim svim ljudima koji su čekali na moj odgovor. Da ne objašnjavam razlog, nadam se da možemo nastaviti.

Kreirao sam bazu iz Visual Studia 2008 kao artikli.mdf koji sadrži tabele kao sa slike gore.

Napravio sam forme za unos podataka i to funkconiše normalno. Dakle mogu da unosim podatke vezane za dobavljača, artikle i cijene ali polovično.

Problem nastane kada hoću da unesem cijenu za isti artikal ali od drugog dobavljača. Kako je ARTIKAL_ID Primary Key onda on ima uniqe value i u toj koloni ne mogu imati iste vrijednosti. E sad kako nisam uspio da podesim da mi u tabeli ARTIKAL_DOBAVLJAC polja ARTIKAL_ID i DOBAVLJAC_ID budu u isto vrijeme i PK i FK pretpostavljam da je u tome problem. ( Mada moram da priznam da me jako buni cinjenica da moram jednom polju dodjeliti PK i FK istovremeno ).

Dalje, napravio sam jednu formu za odabir najjeftinijeg dobavljača. Ona sadrži samo jedno polje za unos šifre artikla i jednog tastera "Pronađi". Kako da klikom na ovaj taster pokrenem gore navedeni Query?

Ajde za sada neka bude ovoliko. Hvala!!!



 
Odgovor na temu

[es] :: .NET :: Prikaz najjeftinijeg dobavljača iz tabele

[ Pregleda: 2286 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.