[ DART_VEJDER @ 14.03.2006. 12:34 ] @
ako imam neku tabelu u kojoj je jedno polje neki datum, a preko koda odredim da je danas npr. 6/19/06 (ili u nekom drugom (ODGOVARAJUCEM) formatu) , kako dobiti u nekom DBEdit-u (ili nekoj drugoj, slicnoj, komponenti) razliku koliko je dana proslo od onog datuma upisanog u bazu do danas?

da imam u bazi i danasnji datum, onda bih samo odradio Datum_danasnji - Datum_stari , ali nemam, i ne treba mi tu....

Nije valjda jedini nacin da prvo upisem danasnji datum u bazu pa ih oduzmem...??

zna li ko "elegantniji" i brzi nacin??

napomena: radi se u borland Builderu, accessova baza podataka, ADO komponente...
[ X Files @ 14.03.2006. 12:48 ] @
U Borland C++ Builder postoji klasa:

TDateTime

koja ima *sve* funkcije koje su ti neophodne za sabiranje, oduzimanje
i ostale manipulacije sa datumom.

Sada nisam pri racunaru sa instaliranim BCB, pa ti ne mogu reci detalje.

Inace, nesto ovako:

TDateTime D1;
TDateTime D2;

D1.Date = Table1->FieldByName("polje1")->AsDate; // ili AsDateTime, ne secam se...

D2.Date = Table1->FieldByName("polje2")->AsDate; // ili AsDateTime, ne secam se...

onda:

Onda probaj sa obicnim ODUZIMANJEM jer su ti operatori vc odradjenu za
klasu TDateTime...

[ Duke Nukem @ 14.03.2006. 17:54 ] @
long live bc++b
[ X Files @ 14.03.2006. 18:46 ] @
Dakle, nesto ovako /netestirano/:

Code:

TDateTime D1, D2;
D1 = Table1->FieldByName("polje1")->AsDate;
D2 = Table1->FieldByName("polje2")->AsDate;
int x = D2 - D1;
ShowMessage( x );
[ DART_VEJDER @ 14.03.2006. 22:01 ] @
bojim se da me nisi shvatio, ali svejedno hvala na odgovoru, jer ovo nisam znao...


znas kako, ja sam mogao i u SQL-u odraditi ako imam dva datuma upisana jednostavno:

Code:
 select Dat2-Dat1 as Danasnji_datum from Ime_tabele


DA IMAM UPISAN DANASNJI DATUM U TABELI!! ali ja ga nemam upisanog tamo, nego bih preko koda dobio danasnji datum u odgovarajucem formatu, i iskoristio bih nekako onaj stariji datum upisan u bazu da bih dobio to sto trazim:
Danasnji_datum - Datum_koji_je_upisan_u_bazu...

e pa mene interesuje mogu li to nekako izracunati a da prethodno ne upisujem danasnji datum u bazu...??
[ DART_VEJDER @ 14.03.2006. 22:20 ] @
e, i jos jedno malo pitanje:

ima li neka metoda ili neki improvizovani nacin za dobijanje spiska (npr. u ListBox-u ili cak u samom DBGrid-u..) svih tabela koji postoje u bazi s kojom trenutno radimo...

a da ne pricam cak o njihovom prikazivanju od jednom u nekoj komponenti (npr. DBGrig..)

radim sa ADO komponentama...
[ X Files @ 14.03.2006. 23:23 ] @
Za ovo prvo moracu da se skoncentrisem - a sada sam jako umoran.

Za ovo drugo, trebalo bi da postoji metoda:

TADOConnection::GetTableNames()

nesto kao:

Code:

TStringList *SL = NULL;
SL = new TStringList;

try
{
   ADOConnection1->GetTableNames( SL );

   for ( int i=0; i<SL->Count; i++ )
      ShowMessage( SL->Strings[i] );
}
catch ( const Exception &e )
{
   ShowMessage( "Error" );
}

delete SL;