Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dodavanje SQL upita iz delphi koda

[es] :: Pascal / Delphi / Kylix :: Dodavanje SQL upita iz delphi koda

[ Pregleda: 1232 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

saladinche
saladin kralj
Novi Pazar

Član broj: 48031
Poruke: 50
82.117.197.*



+1 Profil

icon Dodavanje SQL upita iz delphi koda28.11.2017. u 17:02 - pre 34 meseci
Pozdrav svima,
Koristim Delphi 2010 i firebird 2.5 bazu podataka.
Za kreiranje baze sam koristio IBExpert.
U jednoj od tabela u bazi imam polje datum kome sam dodao tip DATE.

Sada pokusavam da u Delphiju napravim akciju po kojoj ce mi izlistati vrednosti samo od datuma koji izaberem u DateTomePicker ali mi to nikako ne uspeva.
Stalno mi javlja jednu istu gresku: "invalid token. dynamic sql error. sql error code 104" a evo i kako izgleda code:

UnosUgovori.Active:= false;
UnosUgovori.SQLs.SelectSQL.Text:= 'Select * from Ugovori WHERE (UGOVORI.DATUM) =' + DateToStr(DateTimePicker1.Date);
UnosUgovori.Active:= true;

Ako stavim uslov Select * from Ugovori WHERE UGOVORI.DATUM = CURRENT_DATE onda radi kako treba, ali meni treba da odaberem datum za koji cemi prikazivati podatke.

Nadam se da sam bio jasam sa problemom pa ako neko moze da pomogne neka javi
Hvala...
salash
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5909

Sajt: pedja.supurovic.net


+1423 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 17:09 - pre 34 meseci
Najverovatnije ti format datuma nije dobar.

 
Odgovor na temu

saladinche
saladin kralj
Novi Pazar

Član broj: 48031
Poruke: 50
82.117.197.*



+1 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 17:12 - pre 34 meseci
I ja mislim da je to, ali ne mogu nikakvu gresku da nadjem.
Isti je format datuma, i u bazi i u delphiju (dd.mm.yyyy), shotrdate...
salash
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2884

Jabber: djoka_l


+1197 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 17:37 - pre 34 meseci
Prvo, tako se ne radi (SQL Injection).
Drugo, datum mora da bude uokviren znacima navoda u upitu.
 
Odgovor na temu

saladinche
saladin kralj
Novi Pazar

Član broj: 48031
Poruke: 50
82.117.197.*



+1 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 17:48 - pre 34 meseci
Ne treba mi odredjeni datum, vec mi treba da mi izdvoji samo vrednosti koje sadrže datum koji je izabran u DateTimePicker-u
Ovo radi ako umesto datuma stavim CURRENT_DATE, ali mi ne trbea to nego ovo što pitam.
Druže, ja da znam kako da treba ne bi pitao...
Hvala u svakom slučaju.
salash
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2638



+69 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 17:50 - pre 34 meseci
Firebird koristi odredjene fiksne formate datuma, pogledaj https://firebirdsql.org/en/firebird-date-literals/ za detalje.
Za tvoj slucaj najbolje da koristis parametrizovane kverije gde datum navodis kao datum, npr:

Code:

  qry.Sql := 'select * from TableA where DateField >= :FromDate';
  qry.Prepare;
  qry.Params[0].AsDateTime := Now;
  qry.ExecSql;


Ako hoces dosadasnji pristup onda koristi FormatDateTime umesto DateToStr, npr FormatDateTime('DD.MM.YYYY', Date);


 
Odgovor na temu

saladinche
saladin kralj
Novi Pazar

Član broj: 48031
Poruke: 50
82.117.197.*



+1 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 18:00 - pre 34 meseci
Suština je u tome da mi u tabeli izlista samo vrednosti za datume koje ja odaberem, a to biram u DateTimePicker.
FormatDateTime('DD.MM.YYYY', Date) - ovo mi daje istu gresku a i svakako ne mogu da biram datum :(
salash
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2884

Jabber: djoka_l


+1197 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 18:17 - pre 34 meseci
Ajde, sada lepo ponovo pročitaj šta sam ti ja napisao i šta ti je savkic napisao.

Ako ti i posle toga nije jasno, ispiši sadržaj
UnosUgovori.SQLs.SelectSQL.Text
pa vidi da li ti je datum uokviren jednostrukim znacima navoda.

Pa onda probaj da umesto Now u
qry.Params[0].AsDateTime := Now;

staviš sadržaj
DateTimePicker1.Date
 
Odgovor na temu

saladinche
saladin kralj
Novi Pazar

Član broj: 48031
Poruke: 50
82.117.197.*



+1 Profil

icon Re: Dodavanje SQL upita iz delphi koda28.11.2017. u 19:30 - pre 34 meseci
Umesto AdoQuery koristim FIBPlus i tu mi nema ExecSQL

Proradilo je, evo kako:
UnosUgovori.Active:= false;
UnosUgovori.SQLs.SelectSQL.Text := 'select * from ugovori where DATUM = :FromDate';
UnosUgovori.Prepare;
UnosUgovori.Params[0].AsDateTime := DateTimePicker1.Date;
UnosUgovori.Active:= true;;


[Ovu poruku je menjao saladinche dana 28.11.2017. u 20:47 GMT+1]
salash
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Dodavanje SQL upita iz delphi koda30.11.2017. u 14:04 - pre 34 meseci
napravi

Code (delphi):
ShowMessage(UnosUgovori.SelectSQL.Text)


i napiši ovdje rezultat
F
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Dodavanje SQL upita iz delphi koda30.11.2017. u 14:05 - pre 34 meseci
A ovo bi moglo ovako ali nemoj tako neko korsiti parametre.

Code (delphi):
UnosUgovori.SQLs.SelectSQL.Text:= 'Select * from Ugovori WHERE (UGOVORI.DATUM) =' + QuotedStr(DateToStr(DateTimePicker1.Date));

F
 
Odgovor na temu

saladinche
saladin kralj
Novi Pazar

Član broj: 48031
Poruke: 50
82.117.197.*



+1 Profil

icon Re: Dodavanje SQL upita iz delphi koda02.12.2017. u 07:26 - pre 34 meseci
Probao sam ovo ali ne radi.
Code koji sam gore napisao radi super, a ovo sam prvi put pokusao.
Hvala

Citat:
captPicard: A ovo bi moglo ovako ali nemoj tako neko korsiti parametre.

Code (delphi):
UnosUgovori.SQLs.SelectSQL.Text:= 'Select * from Ugovori WHERE (UGOVORI.DATUM) =' + QuotedStr(DateToStr(DateTimePicker1.Date));

salash
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Dodavanje SQL upita iz delphi koda

[ Pregleda: 1232 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.