[ sanivr @ 29.11.2012. 15:42 ] @
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] |