U paradox tabeli imam jedno polje sa datumom.Kako pomocu dve edit.text kontrole i sql-a izdvojim sve vrednosti od datuma1 (edit1.text) do datuma2 (edit2.text)? Hvala unapred...
polje tipa datum i sql....
Zaključano
Zakačeno
izmenjeno 1 put, poslednji put loshmiscg 06.03.2006. u 14:45
Izmene poruke
- loshmiscg06.03.2006. u 14:45zapis iz teksta poruke
Code:
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT *');
SQL.Add('FROM Naziv_Tabele');
SQL.Add('WHERE (Datum BETWEEN' + QuotedStr(Edit1.Text) + ' AND ' + QuotedStr(Edit3.Text) + ')');
Open;
end
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT *');
SQL.Add('FROM Naziv_Tabele');
SQL.Add('WHERE (Datum BETWEEN' + QuotedStr(Edit1.Text) + ' AND ' + QuotedStr(Edit3.Text) + ')');
Open;
end
Probaj ovako... pozzz...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Probao...ne ide. Nemogu nigde da pronadjem resenje.Ako neko zna sa datumima u sql-u,bio bih mu zahvalan.
Smatram da imash problem oko upita. Moguce su dvije greske: u formatu datuma; u samom upitu koji je loshmiscg napisao. Ovisi kakve su ti postavke na bazi. Svejedno, ako je to standardan nacin onda upit posalji u formatu: 2006-06-03 (dakle, godina-mjesec-dan). Ne znam kako radi Paradox glede sintakse pa ti tu ne mogu pomoci. Ali, ovako bi to izgledalo u MySQL-u/SQL-u/SQLite-u/Oracle-u/...;
Bilo bi ovako:
Dakle, upit kod MySQL baze bi bio:
U SQL-u skoro isto:
SQLite, Oracle, Sybase potpuno isto kao MySQL.
Naravno, preporucujem da izbjegnes moguce greske (sta ako korisnik unese nesto sto nije datum?) ili maskama ili provjerom kroz cod... Ali, pretpostavljam da to nece biti problem...
Respect!
Bilo bi ovako:
Code:
var sMySQL, sSQL:String;
begin
sMySQL:=' SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN DATE "' + FormatDateTime('yyyy-mm-dd', StrToDate(Edit1.Text)) + '" AND DATE "' + FormatDateTime('yyyy-mm-dd', StrToDate(Edit2.Text)) + '"';
ADOQuery1.SQL.Text := sMySQL;
ADOQuery1.Active := true;
end;
var sMySQL, sSQL:String;
begin
sMySQL:=' SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN DATE "' + FormatDateTime('yyyy-mm-dd', StrToDate(Edit1.Text)) + '" AND DATE "' + FormatDateTime('yyyy-mm-dd', StrToDate(Edit2.Text)) + '"';
ADOQuery1.SQL.Text := sMySQL;
ADOQuery1.Active := true;
end;
Dakle, upit kod MySQL baze bi bio:
Code:
SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN DATE
"2005-02-1" AND DATE "2007-02-1"
SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN DATE
"2005-02-1" AND DATE "2007-02-1"
U SQL-u skoro isto:
Code:
SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN "2005-02-1" AND "2007-02-1"
SELECT * FROM naziv_tabele WHERE polje_datum BETWEEN "2005-02-1" AND "2007-02-1"
SQLite, Oracle, Sybase potpuno isto kao MySQL.
Naravno, preporucujem da izbjegnes moguce greske (sta ako korisnik unese nesto sto nije datum?) ili maskama ili provjerom kroz cod... Ali, pretpostavljam da to nece biti problem...
Respect!
Evo ti urađen primer okačen uz poruku...
U Tools - Database Desktop upiši Alias (BDE) i snimi ga u folder C:\Datum , znači, smesti ga na tu lokaciju. Tad bi trebalo da radi i kod tebe. Za primer sam koristio Paradox 7 u Delphi - ju 7 !!!
Pozdrav...
U Tools - Database Desktop upiši Alias (BDE) i snimi ga u folder C:\Datum , znači, smesti ga na tu lokaciju. Tad bi trebalo da radi i kod tebe. Za primer sam koristio Paradox 7 u Delphi - ju 7 !!!
Pozdrav...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Sad sam skontao,hvala ti puno kao i ostalima na odgovorima.Ovaj primer mi je pomogao. E sad jos jedna molba ako nisam naporan... Kako u sql-u oduzeti ili sabrati dva vremena...npr 12:43 - 11:10 i kao rezultat takodjer dobiti vreme.Pokusavao sam ali dobijem cudan rezultat.Jos jednom hvala...
Zloco jedan, da li si cuo za google.com? 
Hehe, shalim se! Koliko shvatam ti zelis oduzeti dva datum (na primjer) da vidish broj (mozda radnih dana i sl.). Ovako je kod MySQL-a (na njemu radim trenutno pa ti mogu pomoci):
Nadam se da je pomoglo
Pozdrav!
Hehe, shalim se! Koliko shvatam ti zelis oduzeti dva datum (na primjer) da vidish broj (mozda radnih dana i sl.). Ovako je kod MySQL-a (na njemu radim trenutno pa ti mogu pomoci):
Code:
SELECT TO_DAYS(datum1) - TO_DAYS(datum_2) AS BrojDana
FROM naziv_tabele
SELECT TO_DAYS(datum1) - TO_DAYS(datum_2) AS BrojDana
FROM naziv_tabele
Nadam se da je pomoglo
Pozdrav!
Jao 
Pobrkao sam postove!
Evo vidim da sam pogrijesio!
Ovakav upit ce oduzeti dva vremena (vrijeme1 - vrijeme2)... Naravno, MySQL verzija (koliko se sjecam) veca od 3.2 ili takvo nesto!
Pobrkao sam postove!
Evo vidim da sam pogrijesio!
Code:
SELECT TIMEDIFF(vrijeme1, vrijeme2) FROM naziv_tabele
SELECT TIMEDIFF(vrijeme1, vrijeme2) FROM naziv_tabele
Ovakav upit ce oduzeti dva vremena (vrijeme1 - vrijeme2)... Naravno, MySQL verzija (koliko se sjecam) veca od 3.2 ili takvo nesto!
Ovaj primer sto si postavio za oduzimanje dva vremena mi ne radi u paradoxu.Nisam gotovan...ubih se trazeci resenje tog problema i pokusavajuci sam da uradim.I kad sam vec digao ruke onda zamolih za pomoc. Posebno hvala loshmiscg-u za onaj njegov primer
koda sto je okacio a hvala i tebi na odgovorima,docicemo valjda nekako do resenja.
koda sto je okacio a hvala i tebi na odgovorima,docicemo valjda nekako do resenja.
izmenjeno 1 put, poslednji put loshmiscg 06.03.2006. u 18:47
Izmene poruke
- loshmiscg06.03.2006. u 18:47zapis iz teksta poruke
Nema na čemu, zato smo tu... Mislim da je bolje svoje programe koje praviš vezuješ za neki sistem koji upravlja bazama podataka. Recimo MS SQL Server, MySQL, Oracle... A za početak ti je i Access sasvim dovoljan... Imaš ADO tutorial gore, kao TOP tema (https://www.elitesecurity.org/t57994-ADO-Delphi-ju-tutorial)!? Pa, polako... Nemoj me pogrešno shvatiti, ne govorim da je i BDE(Paradox) loš...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Ljudi pomagajte...pokusao sam i u accessu i opet isto. select vreme1,vreme2,(vreme2 - vreme1) from tabela...
Opet tamo gde oduzimam vreme od vremena dobijem neki decimalni broj bez veze. A zelim npr (13:30 - 12:00) da dobijem rezul. u ovom formatu (1:30).
Opet tamo gde oduzimam vreme od vremena dobijem neki decimalni broj bez veze. A zelim npr (13:30 - 12:00) da dobijem rezul. u ovom formatu (1:30).