• 5 odgovora
  • 3.237 pregleda
Problem sa datumom u upitu 30.01.2007. u 00:10 · pre 240 meseci #1
Čitav dan mučim muku sa jednim prostim upitom, ali on i dalje neće da radi, koliko god da prostački izgleda!

Evo ga i problem:
upit.CommandText = "SELECT br FROM Racun WHERE DatumFakture < " +početniDatum+ ";";

početniDatum se prosleđuje proceduri kao varijabla tipa DateTime i to iz DateTimePicker-a.


Kada napišem tako, dobijam grešku:
"Syntax error (missing operator) in query expression 'DatumFakture < 30.1.2007 0:41:29'."

Ako dodam apostrofe ispred i iza datuma, onda dobijam sledeću grešku:
"Data type mismatch in criteria expression."
(Kada stavim Watch na upit.CommandText on ima vrednost "SELECT br FROM Racun WHERE DatumFakture < '30.1.2007 0:41:29';")

Onda sam tražeći po forumu odgovore naišao na predlog da se stavi # ispred i iza datuma, ali i onda mi prijavljuje grešku:
"Syntax error in date in query expression 'DatumFakture < #30.1.2007 0:41:29#'."

Probao sam i sa navodnicima ispred i iza #, ali opet ne radi!!!

Inače, u bazi (Access) mi je polje tipa Date/Time, formata Short Date. Probao sam da stavim i long date, ali ne pomaže.

Onda sam pokušao i sa DateTime.Parse(početniDatum) - ne funkcioniše
Convert.ToDateTime(početniDatum.toShortDateString()) - syntax error

Pokušao sam i da postavim DateTimePicker.CustomFormat na "dd.mm.yyyy" i opet ništa.

Sve u svemu, ako vrednost prosledim kao string, dobijam "Data type mismatch in criteria expression." , a ako prosledim kao datum, javlja se "Syntax error".
Pokušao sam čak i da ugasim pa upalim računar, pa čak i da izađem i uđem ponovo u kuću dok zli duhovi ne odu, ali ne pomaže :)

Predpostavljam da je neki problem sa formatom datuma, ali ne znam kako treba da ga formatiram da bi funkcionisao!

Pomagajte, ili odoh da izvršim harikiri!
Potpis
Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
Re: Problem sa datumom u upitu 30.01.2007. u 06:23 · pre 240 meseci #2
Treba da datum formatiras na Accessov "native format": "#MM/dd/yyyy#"
Re: Problem sa datumom u upitu 30.01.2007. u 07:44 · pre 240 meseci #3
Koristi parametre u upitu (parametrized query), zato su izmisljeni bice ti zivot laksi....
Sto se formata tice, nisam siguran da je problem u tome, datum je datum, nebitno od formata, barem je u redovnim serverima tako, za Access ne znam...
Poz
Potpis
RTFM
Re: Problem sa datumom u upitu 30.01.2007. u 07:49 · pre 240 meseci #4
Ja mislim da ti neće da vrati ništa zato što tvoj upit koji si napisao traži i po vremenu. Jer ti uz datum ide i vrijeme, pa ako se ne poklopi vrijeme nema ni rezultata.
Pokušaj da uradiš casting tog datuma da ti radi bez vremena. Imao sam i ja sličan problem i to sam radio sa datumom.

A još kao što ti rekoše koristi parametre u upitima.

Živio
Re: Problem sa datumom u upitu 30.01.2007. u 07:56 · pre 240 meseci #5
Citat:
aleksandarpopov: Koristi parametre u upitu (parametrized query), zato su izmisljeni bice ti zivot laksi....

Ovo je OK.
Citat:
aleksandarpopov:Sto se formata tice, nisam siguran da je problem u tome, datum je datum, nebitno od formata, barem je u redovnim serverima tako, za Access ne znam...
Jeste problem u tome, formatiranjem na gore opisan nacin izbegava se problem sa razlicitim regionalnim podesavanjima, tj. upiti ce uvek biti ispravni.
Re: Problem sa datumom u upitu 30.01.2007. u 11:01 · pre 240 meseci #6
Citat:
west_herc: Ja mislim da ti neće da vrati ništa zato što tvoj upit koji si napisao traži i po vremenu. Jer ti uz datum ide i vrijeme, pa ako se ne poklopi vrijeme nema ni rezultata.
Pokušaj da uradiš casting tog datuma da ti radi bez vremena. Imao sam i ja sličan problem i to sam radio sa datumom.

A još kao što ti rekoše koristi parametre u upitima.

Živio


Ne znam zašto ne bi vratio ništa? Svaki datum u bazi koji je manji za npr. 1 dan od datuma u upitu biće manji od datuma u upitu, bez obzira da li je dat sa vremenom ili bez, zar ne?

Citat:
aleksandarpopov: Koristi parametre u upitu (parametrized query), zato su izmisljeni bice ti zivot laksi....


E, ovo si dobro rekao :) Radi bez problema!


Hvala svima na pomoći!
Potpis
Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme