Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 22.1.2010, 14:25   #1
catwoman
Član
 
Član od: 28.10.2008.
Poruke: 42
Zahvalnice: 4
Zahvaljeno 0 puta na 0 poruka
Određen forumom Nelogičan datum

Please help!!!! Imam veliki problem, koristim SQL Server 2000. i punim tabele podacima,datumska polja su problem,jer zbog potreba posla neke datume je potrebno puniti kao 00.00.2009 i slicno(sto ukazuje na nelogicnos u smislu meseca i dana),takve podatke nije moguce smestiti u
tabelu ,i ne postoji mogucnost koriscenja opcije Default tipa 00.00 i sl.
Sta uraditi u tom slucaju?Unapred hvala
catwoman je offline   Odgovor sa citatom ove poruke
Stara 22.1.2010, 15:07   #2
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Nelogican datum

kao sto kazes, takav datum ne postoji. samim time date polje nikada nece prihvatiti tu vrednost.

nije moguce da potrebe posla zahtevaju takve datume
potrebe posla zahtevaju nesto drugo, a tvoje (ili necije drugo) resenje je bilo koristiti takve ne postojece datume.

mozes da tip polja promenis u tekst, pa upisujes koje god hoces datume, ali time gubis type safety, plus je veliko cimanje ako vec imas dosta ubacenih podataka.

okreni-obrni, najbolje je da objasnis zasto to moraju da postoje 00.00 datumi, pa da ti pomognemo da smislis drugi nacin za resavanje problema.
irreal je offline   Odgovor sa citatom ove poruke
Stara 22.1.2010, 15:12   #3
catwoman
Član
 
Član od: 28.10.2008.
Poruke: 42
Zahvalnice: 4
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Nelogican datum

pa konkretno radi se o dokumentima koji postoje vise godina,
i dopunjavaju se tokom godina,tako da je jedan slog u tabeli datum kreiranja dokumenta
dan,mesec,godina, a drugi datum je datum zatvaranja dokumenta
koji je definisan kao 00.00.2000 i kao takav postoji u tabeli sve dok se dokument ne zakljuci
catwoman je offline   Odgovor sa citatom ove poruke
Stara 22.1.2010, 15:33   #4
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Nelogičan datum

to je sasvim pogresno.

ako dokument jos uvek nije zatvoren, datum zatvaranja treba da bude prazno polje, ili drugim recima "NULL" vrednost u bazi.

ta kolona, naravno, ne sme imati constraint "not null" koji zabranjuje null vrednost u polju.

a gde god postoji provera za datum "00.00.2000" promeniti u proveru da li je vrednost = null

i eto, resen problem.

konretno evo i ja na poslu imam barem 20-30 razlicitih tabela koja drze dokumenta koja imaju datum otvaranja i datum zatvaranja.
svugde je datum zatvaranja null dokle god se ne zatvori dokument.

uopste koriscenje takvih "magicnih brojeva" je veoma losa praksa.
tipa -1 za nepostojeci broj i slicne fore.
izbegavaj ih sto je vise moguce.
irreal je offline   Odgovor sa citatom ove poruke
Stara 22.1.2010, 17:03   #5
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Nelogičan datum

Po meni postoji jedna druga nelogičnost kod takvog pristupa "zatvaranja" dokumenta a to je da kod dokumenata koji se konstatnto menjanju, i postoji mogućnost da i posle "zatvaranja" budu ponovo izmenjeni, podatak "datum zatvaranja" i nema baš mnogo smisla Ja bih se pre odlučio za atribut koji bi označavao datum poslednje izmene a ako je baš potrebno u svakom trenutku znati da li je dokumenat konačan dovoljno bi bilo dodati jedan boolean atribut u tabeli koji će indikovati da li je dokument "zatvoren" ili nije. Tako bi kasnije moglo recimo ukoliko se ipak javi potreba za izmenama skinuti "zaštitu" sa dokumenta izmenom tog "konačan" atributa i samo izmeniti datum poslednje izmene

Napominjem ovo zato što nelogičnosti u relacijama u bazama možda na početku i ne deluju toliko opasne ali umeju da budu problematične isto kao vino kada kaže "idi ti slobodno ja ću te stići već"
holodoc je offline   Odgovor sa citatom ove poruke
Stara 22.1.2010, 18:51   #6
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Nelogičan datum

da, u principu si u pravu.

dodao bi jos da mozda donekle zavisi i od vrste dokumenata.

recimo, ti koji kod nas imaju datum zatvaranja i nema dalje su obicno bitni i poverljivi dokumenti koji kada se jednom zatvore niko ni ne treba da ima pravo da ih menja osim dva coveka u celoj firmi, a oni vrlo dobro znaju sta rade i uglavnom ih izmene kroz sql navigator a ne neku client aplikaciju jer su te neke sitnije greske, a i desava se mozda jednom ili dva put godisnje.

za dokumenta koja ima smisla da ce mozda opet biti otvoreni, apsolutno se slazem za datum izmene i boolean flag
irreal je offline   Odgovor sa citatom ove poruke
Stara 25.1.2010, 10:36   #7
catwoman
Član
 
Član od: 28.10.2008.
Poruke: 42
Zahvalnice: 4
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Nelogičan datum

Ali moram da postavim pitanje jednog mozda glupog tipa,kako kada mi je adatum
smlldatetime i kada definisem allow nuls ,tada pri unosu polja meni nije dozvoljeno da
pri unosu sloga to polje ostavim praznim ,zasto?
catwoman je offline   Odgovor sa citatom ove poruke
Stara 25.1.2010, 10:55   #8
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Nelogičan datum

ne znam kako to ide u SQL Serveru 2000.
ali ili imas allow nulls, ili imas not null. u prvom slucaju treba da bude ukljuceno u drugom iskljuceno. vidjao sam jos i po Access bazama se to zove "Required" i treba da bude iskljuceno.

pretpostavljam da to znas i sama, tako da mi nije bas jasno zasto to ne radi.

probaj da kreiras novu tabelu pa vidi kako ce tu da se ponasa, ako vec imas popunjenu tabelu mozda ga tu nesto buni...
irreal je offline   Odgovor sa citatom ove poruke
Stara 25.1.2010, 10:58   #9
catwoman
Član
 
Član od: 28.10.2008.
Poruke: 42
Zahvalnice: 4
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Nelogičan datum

U svakom slucaju moram da se zahvalim svim clanovima koji su mi dali
smernice za nelogican datum.Resila sam ga na taj nacin sto sam polje tipa
smalldatetime dozvolila za unos NULL vrednosti,i naravno dobro se podsetila
opcije da blenk nije isto sto i NULL(jos jednom),tako da se to polje
ne upunjava sve dok ne dodje do trenutka unosa neophodnog datuma.
HVALA PUNO !!!!!!
catwoman je offline   Odgovor sa citatom ove poruke
Stara 25.1.2010, 11:59   #10
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Nelogičan datum

nema na cemu, uvek nam je drago da pruzimo pomoc.
irreal je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Novi datum Peki_92 Programi za mobilne telefone 6 25.1.2010 3:46
ukloniti datum sa digitalnih fotografija yow4n4 Grafički softver i radovi 6 27.11.2009 14:07
Kako da Excel prikaze datum u formatu tipa 17.Dec.08 atlantis Aplikativni softver 2 18.12.2008 0:50
datum se vratio 5 godina unazad Corwin Kvarovi 2 9.5.2006 18:36
Datum i vreme sa mini DV kamere i VHS kaseta! Kokan Foto i audio/video 5 24.2.2006 1:43


Sva vremena su po Griniču +2 h. Sada je 16:20.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com