• 9 odgovora
  • 4.042 pregleda
ubacivanje sql koda u kod programa.... 05.08.2006. u 14:43 · pre 246 meseci #1
Sta nije u redu u ovom kodu

ibquery1.SQL.Clear;
ibquery1.SQL.Add('select kolona1,(cast('00:00:00' as time)+sum(zavrsio-poceo)) as ukupno from podaci1');
ibquery1.SQL.Add('where kolona2 = ' + quotedstr(edit1.Text)+'and kolona3 ='+quotedstr(edit2.Text)+
'and datum between date'+ quotedstr(datetostr(abfdatepanel1.Date))+'and date'+ quotedstr(datetostr(abfdatepanel2.Date))+
'group by kolona1 ORDER BY sum(zavrsio-poceo)) ');
open;
end;
end;

Izbaci mi gresku u drugoj liniji koda (cast('00:00:00' as time).... kursor stane posle druge nule.
Inace ovaj kod radi kada kucam u nekom editoru ali kad ubacim kod u program...nece.
Re: ubacivanje sql koda u kod programa.... 05.08.2006. u 14:59 · pre 246 meseci #2
Pozdrav,

ne znam koju bazu koristiš, pa probaj na njoj odraditi upit, u obliku nekog pogleda, recimo... Čisto da vidiš da li funkcioniše, potom prenesi na delphi...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: ubacivanje sql koda u kod programa.... 05.08.2006. u 15:06 · pre 246 meseci #3
Drugu liniju napisi ovako:
Code:
ibquery1.SQL.Add('select kolona1,(cast(' + 
  quotedstr('00:00:00') +
  ' as time)+sum(zavrsio-poceo)) as ukupno from podaci1');
Potpis
Play Store
Re: ubacivanje sql koda u kod programa.... 05.08.2006. u 16:45 · pre 246 meseci #6
Neka sintaksna greska. Uradi tacan copy-paste koda ovde da vidimo sta je u pitanju. I koju gresku prijavljuje.
Re: ubacivanje sql koda u kod programa.... 05.08.2006. u 17:05 · pre 246 meseci #7
>
Ovo je kod:
begin
with ibquery1 do
begin
close;
ibquery1.SQL.Clear;
ibquery1.SQL.Add('select kolona1,(cast(' + quotedstr('00:00:00') +
' as time)+sum(zavrsio-poceo)) as ukupno from podaci1');
ibquery1.SQL.Add('where kolona2= ' + quotedstr(edit1.Text)+'and kolona3
='+quotedstr(edit2.Text)+ 'and datum between date'+
quotedstr(datetostr(abfdatepanel1.Date))+'and date'+
quotedstr(datetostr(abfdatepanel2.Date))+ 'group by kolona1 ORDER BY
sum(zavrsio-poceo)) ');
open;
end;
end;

end.

a ovo greska:

Project1.raised exception class EIBInterbaseError with message
'Dynamic SQL Error code = -104
Token unknown-line2,char 131
)'. Process stoped.Use step or continue
Re: ubacivanje sql koda u kod programa.... 05.08.2006. u 21:38 · pre 246 meseci #8
Mozda lupetam, ali mi se cini da je greska u sledecem:
Code:

ibquery1.SQL.Add('where kolona2= ' + quotedstr(edit1.Text)+'and kolona3
='+quotedstr(edit2.Text)+ 'and datum between date'+
quotedstr(datetostr(abfdatepanel1.Date))+'and date'+
quotedstr(datetostr(abfdatepanel2.Date))+ 'group by kolona1 ORDER BY
sum(zavrsio-poceo)) ');

sa tim kodom dobijes upit koji izgleda (ako je edit1.text='aa', a edit2.text='bb', abfdatepanel1.date=01.01.2006, abfdatepanel2.date=01.01.2007):
Code:
                                                                                                    
where kolona2='aa'and kolona3='bb'and datum between date'01.01.2006'and date'01.01.2007'group by kolona1 ORDER BY sum(zavrsio-poceo))

daj se malo organiziraj!!!!
stavi poneki razmak i prebroj zagrade! Imas jednu viska. Na kraju.
btw. kako mislis da promenis kod posle 2-3 godine (mozda i vise) ako neko zatrazi? Trenutno ne mozes ni sam da ga debagujes, a napisao si ga pre 5 sati.


Edit:
Ako vec pravis takve upite, postavi jednu query komponentu sa parametrima, pa je pozivaj kad ti zatreba. Nije neka umetnost niti vestina postavljanje samo jedne query komponente na formu. Ja ih obicno imam par hiljada u projektu.

Ajd, pa sa srecom.
Re: ubacivanje sql koda u kod programa.... 05.08.2006. u 22:09 · pre 246 meseci #9
>Cenim sto si se javio i hvala za to. Ali...daj malo procitaj iz pocetka.
>Kod koji sam prvo napisao (sa kojim sam otvorio temu) radi u svakom sql
>editoru,medjutim kada ga ubacim u delphi aplikaciju nemogu da pokrenem
>program,delphi mi ne dozvoljava da ga koristim u tom obliku. Kod koji sam
>napisao posle a uz pomoc ljudi koji su hteli pomoci,a koji sam takodjer
>postavio u temi,pokrene aplikaciju ali kad treba izvrsiti upit ne moze.Dakle
>u drugom slucaju nevalja upit...izmene su bile lose. Pogledaj ono prvo sto
>sam napisao,pokusaj ukloniti gresku a onda me kritikuj do besvesti i ja cu
>prihvatiti kritiku. A ovako...nagadjamo obojica o resenju,niti ga imas
>ti,niti ja...
Hvala u svakom slucaju...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme