[ Trodmi @ 15.01.2009. 13:57 ] @
Imam:
Code:
ADOQuery1.Close;
    ADoquery1.Parameters.ParamByName('date1').value := datetimepicker1.Datetime;
    ADoquery1.Parameters.ParamByName('date2').Value := datetimepicker2.Datetime;
    ADOQuery1.Open;

i kod mene sve to lepo radi ali na drugim masinama sa drugim locale podesavanjima pravi problem.
Oba parametra su ftdatetime tipa date.
Pomoc?
[ savkic @ 15.01.2009. 17:00 ] @
> i kod mene sve to lepo radi ali na drugim masinama sa drugim locale podesavanjima pravi problem.

Tačno koji? Dobijaš grešku, pogrešni datum se unese u bazu...

Koristi dodelu preko AsDateTime ne Value, dakle: ADoquery1.Parameters.ParamByName('date1').AsDateTime := Now;

[ Trodmi @ 15.01.2009. 17:44 ] @
Pogresni datumi se unose u bazu. .AsDateTime ne postoji vec samo .Value.
[ savkic @ 15.01.2009. 19:51 ] @
> Pogresni datumi se unose u bazu.

Neobično, datetimepicker1.Datetime vraća vrednost TDateTime, tako da bi problemi oko lokalnih podešavanja trebalo da budu izbegnuti. Da li korisnici sigurno unose dobar datum, dodaj logovanje vrednosti sa FormatDateTime('dd.mm.yyyy hh:nn:ss', datetimepicker1.Datetime) i uporedi kasnije te rezultate sa onima u bazi.
Da li ovaj kod koji si postovao koristiš za unos? Možeš li poslati čitav deo zajedno sa INSERT delom i da li imaš neke before ili after insert triggere na toj tabeli?

[ Trodmi @ 15.01.2009. 21:02 ] @
Sql deo Adoquery-ja je :
Code:
SELECT date, normal, overtime1, overtime2, overtime3, fromh, fromm, toh, tom,  idcustomer
FROM log
WHERE ((log.date) between :date1 AND :date2) AND (log.idemployee=:id) Order by Date DESC;

Kod mene lepo vraca ono sto treba da vrati, na drugim racunarima ne vraca tacno, zavisno od toga kakva su locale podesavanja.

[ priki @ 16.01.2009. 07:06 ] @
ne znam kako si namestio datume na mssql-u
ali mislim da ce ti ovako raditi

ADoquery1.Parameters.ParamByName('date2').Value := FormatDateTime('yyyy-mm-dd', datetimepicker2.Date); -- ako radis samo sa datumima
[ Trodmi @ 17.01.2009. 13:34 ] @
Nazalost, ni to ne pomaze. Vec sam probao.
[ priki @ 17.01.2009. 15:05 ] @
a koja baza je u pitanju ?
[ Trodmi @ 17.01.2009. 16:53 ] @
Access (2002)
[ savkic @ 17.01.2009. 17:33 ] @
Pokušaj bez parametara, samo proveri u kom formatu se mora navesti datum.
Code:

SELECT 
  *
FROM 
  TABELA
WHERE
  DATUM BETWEEN '01/01/2008' AND '31/12/2008';
[ priki @ 17.01.2009. 19:01 ] @
vidi,postoje razne opcije
problem kod toga je sto moras namestiti bazu prema svojim
potrebama i kao takvu isporucitati korisnicima

ovo isto moze da posluzi

sql
Code:

...WHERE DatProlaz=CONVERT(DATETIME, :DTM, 104)...


delphi
Code:

Params.ParamByName('DTM').Value:=FormatDateTime('dd.mm.yyyy', DtpDate.date);  


samo, ne poznam Access i n jegov SQL

[ Trodmi @ 18.01.2009. 18:14 ] @
Kako da namestim bazu? Sve sam probao i nece. U pitanju je Jet 4.0 drajver. Pomagajte ljudi, ima li neko primer Adoqueri-ja sa parametrima vezanim za datetimepicker?
[ savkic @ 18.01.2009. 23:04 ] @
Za početak izbaci u potpunosti parametre i datum navedi direktno kao deo kverija. Takođe pokušaj da taj isti kveri izvršiš izvan tvog programa, direktno u Accessu.
[ Trodmi @ 18.01.2009. 23:24 ] @
To sam i uradio i sada za cudo divno radi. Cak sam morao da dodam i :
Code:
Adoquery1.SQL.BeginUpdate;
..
..
..
AdoQuery1.SQL.EndUpdate;

jer se javljala greska u vezi sa msjet40.dll. Hvala svima na odgovorima i nikad ne korisitite parametre u Adoquerijima.
[ savkic @ 19.01.2009. 00:38 ] @
> jer se javljala greska u vezi sa msjet40.dll. Hvala svima na odgovorima i nikad ne korisitite parametre u Adoquerijima.

Probaj i da potražiš novije verzije Delphi komponenti i ADO dllova, verovatno je greška u njima.
[ priki @ 19.01.2009. 08:15 ] @
Citat:
Trodmi: To sam i uradio i sada za cudo divno radi. Cak sam morao da dodam i :
Hvala svima na odgovorima i nikad ne korisitite parametre u Adoquerijima.


naprotiv, parametrizovani upiti baš treba da se koriste