[ duchess @ 18.04.2007. 10:38 ] @
Imam jedan problem

Pravim windows aplikaciju u c#. Problem je sto treba da napravim jednu store proceduru u bazi, koja ce da za promenljive @Datum,@VremeOD,@VremeDO (koje se nalaze u tabeli rezervacije) da izbaci listu svih racunara(to je kolona koja se nalazi u tabeli racunari) kojima nije dodeljena nijedna vrednost tih promenljivih... ako me neko kapira.

U principu aplikacija treba da izgleda ovako: kada korisnik izabere zeljeni datum, vreme od i vreme do i kada klikne na dugme PROVERA da mu se u listboxu pokazu svi racunari koji su slobodni u tom terminu. eto

posto se mucim oko toga vec 2 meseca, postajem ocajna. Ako moze neko da mi pomogne, mnogo bi mi znacilo!

link ka downloadu aplikacije(kopirati u browser sve sto je boldovano, posto je sa razmakom...) http://www.stens-turs.com/IC Rezervacije.rar

[Ovu poruku je menjao duchess dana 18.04.2007. u 11:50 GMT+1]
[ VerbatimBOT @ 18.04.2007. 10:43 ] @
Link za download ti ne radi.
[ duchess @ 18.04.2007. 10:52 ] @
sad radi
[ Drasko M @ 18.04.2007. 11:27 ] @
Mislim da ti ne treba uskladistena procedura.
Ako sam dobro rauzumeo ti hoces da dobijes listu slobodnih racunara iz tabele , sto se utvrdjuje tako sto su polja vreme, datumod i datumdo prazna i stavis ih u listbox.
To je obican SELECT upit.
[ VerbatimBOT @ 18.04.2007. 11:33 ] @
Slažem se. Ja ne mogu ni da pokrenem projekat jer sam zaboravio da ovde nemam instaliranu 2005-ticu :)
[ Drasko M @ 18.04.2007. 12:37 ] @
Znas sta, ne bi bilo lose da tacno napises sta tvoja aplikacija treba da radi.Koja je razlika izmedju obicnih i fiksnih rezervacija , koja je svrha dugmeta "proveri", da li ti je obavezan deo zadatka da koristis poglede (Views) itd, koja je svrha tabele "termini"...
Znaci, za pocetak, precizno napisi sta hoces.
[ duchess @ 18.04.2007. 18:22 ] @
Ok. Aplikacija sluzi za rezervacije racunara u internet cafeu. Znaci dodavanje i brisanje rezervacija kako obicnih tako i fiksnih. Razlika izmedju obicne i fikne je samo u oznaci "Obicna i "Fiksna" mada treba da namestim ogranicenje koje ce zabraniti brisanje fiksnih iz view-a. Kada korisnik klikne na button Dodaj Obicnu rezervaciju, otvori mu se forma u kojoj moze da ubaci
datum dolaska, vreme koje ce provesti(vremeOD i vremeDO) i onda kada klikne na dugme Provera da mu za uneto vreme izlista u listboxu sve racunare koji su slobodni u tom vremenu.
Takodje treba da namestim da on vremeOD i vremeDo gleda kao period a ne samo kao podatke o vremenu(primer: od 18:00 do 20:00, da gleda na period izmedju 18 i 20 a ne samo na pojedinacne vrednosti 18 i 20)
Klikom na Dodaj fiksnu rezervaciju, ista procedura s tim sto ima datumPocetka i datumZavrsetka rezervacije(isto vazi kao i za vreme da treba da gleda kao period izmedju ta dva datuma a ne samo kao dva podatka)
zatim postoji combobox gde se bira zeljeni dan (znaci dan koji ce biti rezervisan u datom datumu. primer: svaki ponedeljak u martu da bude rezervisan taj i taj racunar za to i to vreme..)
isto postoji button Provera cijim klikom ce se takodje izlistati slobodni racunari u listboxu. Nakon biranja zeljenog racunara izabere se korisnik koji rezervise i kraj klikom na sacuvaj.
klikom na button Pregled rezervacija otvara sa forma sa view-om tj. pregledom svih rezervacija za danasnji datum, ako zelimo pregled rezervacija za drugi datum samo izaberemo zeljeni iz datetimepikera.

Tabela termin postoji kako bi racunar znao odakle da pokupi informacije kada bude "proveravao" za slobodne racunare....
Sto se tice view-a... bitan mi je samo pregled rezervacija, da li je to uradjeno preko view-a ili preko grida ili sta vec potpuno je svejedno.

to je eto sazeti opis kako aplikacija treba da funkcionise. Stigla sam valjda bar do pola.

Strukturu baze mi je dao profesor(ovo je inace projekat za ispit), mada ne mora da znaci da je dobro to sto mi je dao.
Takodje mi je on isti rekao da za resenje problema sa proverom moze da posluzi procedura, pa kad je napravim da dodjem
na konsultacije kako bi tu proceduru i upotrebili. eto tako

[ sallle @ 18.04.2007. 19:09 ] @
krenes obrnuto, izlistas sve racunare koji su u nekom trenutku zauzeti:

upit1:
select id_racunara from ime_tabele_sa_rezervacijama
where ((pDatum = datum)
AND ((pVreme_od BETWEEN (Vreme_od AND Vreme_do)) OR (pVreme_Do BETWEEN (Vreme_od AND Vreme_do))
OR ((pVreme_od < Vreme_od) AND (pVreme_do>Vreme_do) )) )

tim upitom dobijes id-ove racunara koji su zauzeti u zeljenom intervalu:
Spisak slobodnih racunara dobijes:

SELECT ime_racunara FROM tabela_sa_racunarima
WHERE id_racunara not in ("upit1")


To bi trebalo da je to (ukoliko sam dobro pretpostavio semu tvojih tabela). Vodi racuna u Upitu1 o granicnim slucajevima (ne znam da li je Between "<= <= " , ili "< <" )
[ Drasko M @ 18.04.2007. 19:45 ] @
Nema potrebe za dvostrukim poljima za datumOD i datumDO u tabeli rezervacije obzirom da imas polje koje oznacava fixne odnosno obicne rez.
Takodje tabela termini je nepotrebna kao i oni silni View-ovi sa sve Iner Join-ovima itd...
Ako ces da castis pivom, da sednom da to isprepravljam malo....:)
Nego od kad su na BPS-u poceli da daju komplikovanije zadatke?
[ duchess @ 18.04.2007. 19:49 ] @
ok to nece da mi funkcionise. Predpostavila sam da ono "p" pored nekih kolona oznacava da su to promenljive pa sam ispisala ovakav kod:

SELECT racunariid
FROM rezervacije
WHERE ((@ObicneDatum = ObicneDatum) AND (@VremeOD BETWEEN (VremeOD AND VremeDO)) OR
(@VremeDO BETWEEN (VremeOD AND VremeDO)) OR
((@VremeOD <= VremeOD) AND (@VremeDO = > VremeDO)))

javlja mi gresku: must declare variable @ObicneDatum

mozda bas zbog tih promenljivih i treba da napisem store proceduru. sto sam takodje probala:

CREATE PROCEDURE racunari
@ObicneDatum smalldatetime,
@VremeOD smalldatetime,
@VremeDO smalldatetime AS
SELECT racunariid FROM rezervacije WHERE ((@ObicneDatum = ObicneDatum) AND (@VremeOD BETWEEN (VremeOD AND VremeDO)) OR (@VremeDO BETWEEN (VremeOD AND VremeDO)) OR ((@VremeOD < VremeOD) AND (@VremeDO > VremeDO)))

onda javlja gresku: Incorrect syntax near the keyword 'AND'

/me confused....
[ duchess @ 18.04.2007. 20:03 ] @
to Drasko M: Casticu i sa dva becks-a samo da zavrsim vise to

Ne traze na BPS-u komplikovano za 6..... ali mi treba makar malo veca ocena, a kad sam pocela ovu aplikaciju nisam imala pojma da ce ovoliko da se razgrana. Ali sta cu, sad nema nazad, kad sam vec pocela, ajd da i zavrsim
[ sallle @ 18.04.2007. 20:18 ] @

Ovaj upit koji sam ti napisao podrazumeva da si umesto pPromenjivih u programu u query string ubacila konkretne vrednosti (koje citas iz nekih textboxova, i formatiras ih da bi odgovarali tipovima koji su smesteni u bazi). Zatim taj querystring saljes bazi.
U upitu koji si koristila desno od prvog AND treba da dodas "(" , i na kraju citavog stringa jos ")".
[ VerbatimBOT @ 18.04.2007. 22:59 ] @
Citat:
Drasko M: Nego od kad su na BPS-u poceli da daju komplikovanije zadatke?


Bilo je i težih od ovoga... :)
[ Drasko M @ 18.04.2007. 23:03 ] @
Ok.Gledacu da ti zavrsim to do kraja nedelje, ostavi email ili mi se javi na [email protected]
[ duchess @ 19.04.2007. 01:09 ] @
e bas si zlatan!

ajd kad zavrsis sibni na: [email protected]