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

Pomoc oko proekta

[es] :: C/C++ programiranje :: Pomoc oko proekta

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
*.cabletel.com.mk.



+14 Profil

icon Pomoc oko proekta29.11.2012. u 15:42 - pre 138 meseci
Imam sledeci zadatak da odradim. Ima neka vec popunjena baza (access) sa nekoliko kolona od koja jedna je datum radjanja, druga kolona je imaNad29. Program treba da oduzme danasnji datum (DD.MM.GGGG) - datum radjanja i ako je razlika 29 ili vise treba u kolonu imaNad29 staviti 1. Mene zanima samo kako je to najdobro uraditi jer bazu koju sam dobila je dosta velika i nacin na koi sam uradila mislim da je pogresan. Ovo sam radila pred da nadjem funkcije za oduzimanje datuma. Sada kad znam funkcije lako ku dobiti godina koliko ima, samo kada to proveravati i kako proveravati. Ja sam radila na sledeci nacin. Hvala na odovoru (inace ne mogu da definiram ime na temu pa moderator ako ima bolju ideju nek promeni i izvinjavam se zbog toga).

Code:

ADOQuery1->Close();
ADOQuery1->SQL->Clear();
AnsiString Upit = "SELECT * FROM Us WHERE Korisnik";
ADOQuery1->SQL->Add( Upit );
ADOQuery1->Open();

int pg,pd,pm;
AnsiString roden=Date().DateString();
AnsiString pom;
pom=roden.SubString(7,4);//pocetna godina
pg=atoi(pom.c_str());
pom=roden.SubString(4,2);//poceten mesec
pm=atoi(pom.c_str());
pom=roden.SubString(1,2);//poceten den
pd=atoi(pom.c_str());
int pocetak=  pg*365+pm*31+pd-10219;
AnsiString Godini=pocetak;


ADOQuery2->Close();
ADOQuery2->SQL->Clear();
AnsiString Upit1 = "UPDATE Baza SET ImaNad29='1' WHERE datumbr< '" + Godini + "'";
ADOQuery2->SQL->Add( Upit1 );
ADOQuery2->ExecSQL();


[Ovu poruku je menjao sanivr dana 29.11.2012. u 17:06 GMT+1]
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Pomoc oko proekta29.11.2012. u 16:25 - pre 138 meseci
Code (sql):

UPDATE ime_tabele
SET ImaNad29 = 1
WHERE DateDiff("yyyy", DATE(), datumbr) >= 29
 
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
*.cabletel.com.mk.



+14 Profil

icon Re: Pomoc oko proekta29.11.2012. u 16:40 - pre 138 meseci
Dali to da radi svako startovanje, jednom dnevno i sl...to nikud nije navedeno ali eto da pitam kako bi bilo najbolje...
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Pomoc oko proekta29.11.2012. u 21:59 - pre 138 meseci
Citat:
UPDATE ime_tabele
SET ImaNad29 = 1
WHERE DateDiff("yyyy", DATE(), datumbr) >= 29

Sto je to "yyyy" sto tacno znaci to? Jer kad sam ga ja stavila kaze mi kao nemam default value? DATE() je funkcija koja daje danasnji dan, datumbr je kolona u bazi u koji je zapisan datum rogenja jer da?
Odgovori Odgovori sa citatom


Nije u redu da me cimaš preko privatne poruke za ono što si pitala na forumu, nego pitanje postaviš u istoj temi gde je i ostatak diskusije.

Kako DateDiff radi: http://office.microsoft.com/en...diff-function-HA001228811.aspx

 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Pomoc oko proekta30.11.2012. u 09:32 - pre 138 meseci
Treba razjasniti da li ovo 29 predstavlja godine, dane, ili nešto treće. Meni se čini da su u pitanju dani.
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
*.cabletel.com.mk.



+14 Profil

icon Re: Pomoc oko proekta09.12.2012. u 16:58 - pre 138 meseci
29 prestavlja godine... radila sam drugi deo proekta. Izvinjavam se @djoka_l, procitala sam to i pred ali nesta sam obrnula i nije radilo pa za sitnicu sam ti napisala, ali izvinjavam se...znaci ostaje pitanje gde umetnuti to, kad to da proverava? Hvala

[Ovu poruku je menjao sanivr dana 09.12.2012. u 18:21 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: Pomoc oko proekta

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

Postavi temu Odgovori

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