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

Za znalce Delphija i Db-a

[es] :: Pascal / Delphi / Kylix :: Za znalce Delphija i Db-a

[ Pregleda: 3047 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

srdja

Član broj: 2128
Poruke: 11
*.ptt.yu



Profil

icon Za znalce Delphija i Db-a27.01.2002. u 20:49 - pre 270 meseci
Imam jednu tabelu Paradox 7 uradjenu u DataBase desktop-u koja izmedju ostalog ima dva polja koja mi predstavljaju veliki problem:
-U jedno polje treba da bude upisan sledeci zapis
"01/2002" (da pojasnim ovaj zapis - "01" treba da predstavlja nesto kao AutoIncrement zanci za svaki novi zapis da se uveca za jedan "02"...."03', zatim ide kosa crta"/" pa onda sledi "2002" , e ova brojka treba da predstavlja trenutnu godinu. Ovaj zapis bi trebao da se sastoji iz ova tri dela znaci >> broj trenutnog zapisa u tabeli, pa kosa crta, pa trenutna godina. Da li ovaj problem resavam direktno u mojoj aplikaciji ili je problem resiv u DB-u?
-U drugo polje stoji datum. Medjutim kada se podesi polje (konkretno u ovoj tabeli "datum") na "date" datum je sledeceg formata npr. 1/24/2002. Znaci moje pitanje je kako da promenim format datuma da bude NORMALAN.


srki
 
Odgovor na temu

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
*.rcub.bg.ac.yu

ICQ: 106825659
Sajt: localhost


Profil

icon Re: Za znalce Delphija i Db-a27.01.2002. u 23:30 - pre 270 meseci
Citat:
srdja:
Imam jednu tabelu Paradox 7 uradjenu u DataBase desktop-u koja izmedju ostalog ima dva polja koja mi predstavljaju veliki problem:
-U jedno polje treba da bude upisan sledeci zapis
"01/2002" (da pojasnim ovaj zapis - "01" treba da predstavlja nesto kao AutoIncrement zanci za svaki novi zapis da se uveca za jedan "02"...."03', zatim ide kosa crta"/" pa onda sledi "2002" , e ova brojka treba da predstavlja trenutnu godinu. Ovaj zapis bi trebao da se sastoji iz ova tri dela znaci >> broj trenutnog zapisa u tabeli, pa kosa crta, pa trenutna godina. Da li ovaj problem resavam direktno u mojoj aplikaciji ili je problem resiv u DB-u?
-U drugo polje stoji datum. Medjutim kada se podesi polje (konkretno u ovoj tabeli "datum") na "date" datum je sledeceg formata npr. 1/24/2002. Znaci moje pitanje je kako da promenim format datuma da bude NORMALAN.



Za prvi problem ... postoje dva resenja ... prvo: formiraj skriveno (za korisnika) autoinc polje, pri ubacivanju novog sloga konvertuj to polje u string i spoji sa '/2002' (naravno prvo ispitaj koja je godina); drugo: pre ubacivanja poslednjeg sloga, prebroj koliko si ih do sada ubacio u bazu (citaj: tabelu) i na taj broj dodaj jedan ... potom taj broj konvertuj u string i spoji opet sa '/2002'.

Drugi problem - probaj da promenis settings-e za vreme i datum u 'Regional settings-ima' (mislim da bi trebalo da radi) ... ako ne ... opet kreiraj polje tipa string (u tabeli) u koje ces upisivati direktno iz programa "svojerucno" kreiran oblik datuma.
Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

srdja

Član broj: 2128
Poruke: 11
*.ptt.yu



Profil

icon Re: Za znalce Delphija i Db-a29.01.2002. u 10:09 - pre 270 meseci
Kreirao sam skriveno autoinc polje, medjutim kada ja kazem insert da ubacim novi zapis meni se to polje ne azurira trenutno vec tek kada kazem post tek onda mi se upise redni broj.
Problem je i u sledecem: Dok sam pravio tabelu u Db-u, potom sam sam popunio nekolio polja direktno iz njega polje AutoInc mi ne pocinje redom 1,2,3,4... vec nesto sasvim drugo npr. 310, 320, ... Izbrisao sam sve podatke iz tabele pa opet ponovo ali nece. U cemu je problem?
-I jos samo da naglasim polje AutInc kreira redni broj zapisa u formatu 1,2,3,4,....10,11... a meni je potrebno da bude sledece 01, 02, 03 pa sve tako do 9, pa onda normalno 11, 12, 13, 14....
Nakoji nacin to da izvedem?
srki
 
Odgovor na temu

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
*.verat.net

ICQ: 106825659
Sajt: localhost


Profil

icon Re: Za znalce Delphija i Db-a29.01.2002. u 19:04 - pre 270 meseci
Nije bitno ... kreiraj ipak jedno integer (longint) polje i jedno string (text) polje. Pre ubacivanja novog podatka prebroj koliko do sada podataka ima u tabeli. Prekonvertuj taj broj u neku karakternu (string) promenljivu, naravno pre konvertovanja ispitaj da li je taj broj manji od 10, ako jeste stringu dodaj posle konvertovanja jos jednu nulu ispred - dakle, s:='0'+s;
Posle ovoga spoj taj tvoj string (s) sa '/2002' i takav podatak upisi u ono string (text) polje i prikazi ga korisniku.

Primer:

br integer
redbr string
artikal string
tezina string

----------------------
br redbr artikal tezina
1 01/2002 Puska 10 kg
2 02/2002 Slem 2 Kg

Ako treba da upisemo "Crep 5 kg" ...

Prebrojimo koliko imamo polja u tabeli (2) ili odemo do poslednjeg sloga i iscitamo vrednost polja 'br' u neku promenljivu (2). Tu vrednost prekonvertujemo u neku privremenu promenljivu (string) dodavajuci joj '0' ako je broj manji od 10. I dodamo joj '/2002' (03/2002). Tako formiranu promenljivu upisujemo u tabelu zajedno sa ostalim podacima (ukljucujuci i stvarni broj tog sloga - dakle 3 u nasem slucaju).

----------------------
br redbr artikal tezina
1 01/2002 Puska 10 kg
2 02/2002 Slem 2 Kg
3 03/2002 Crep 5 kg


" Easy that easier can't be ... "
Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Za znalce Delphija i Db-a

[ Pregleda: 3047 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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