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

SQL sintaksa-gde gresim?

[es] :: Pascal / Delphi / Kylix :: SQL sintaksa-gde gresim?

[ Pregleda: 2777 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

prginfo
NS

Član broj: 174814
Poruke: 133
*.47.eunet.yu.



+1 Profil

icon SQL sintaksa-gde gresim?10.06.2008. u 17:06 - pre 171 meseci
Koristim Delphi 7, IBDatabase.
Sledeci je kod:

var
A:Integer;
begin
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('select * from TABELA where POLJE = A');
Query.Prepare;
Query.Open;
end

POLJE u tabeli je integer.
Sintaksa mi ne funkcionise.
Problem pravi kod tog dela POLJE = A

Ako neko vidi gde gresim, neka me skrene sa krivog puta.

Hvala.

P.S.
Probao sam razne varijante, ali ne ide.

 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.adsl-a-1.sezampro.yu.



Profil

icon Re: SQL sintaksa-gde gresim?10.06.2008. u 17:38 - pre 171 meseci
Parametri su ono što treba koristiti.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2704



+84 Profil

icon Re: SQL sintaksa-gde gresim?10.06.2008. u 18:01 - pre 171 meseci
> Query.SQL.Add('select * from TABELA where POLJE = A');

Ti si ovde rekao, daj mi sve slogove iz TABELE gde je FIELD POLJE jednako polju A. Ako želiš da vrednost nekog polja porediš sa string konstantom moraš tu konstantu staviti pod navodnike (Query.SQL.Add('select * from TABELA where POLJE = ''A'');) ili koristiti parametre.
Ako je POLJE INTEGER onda moraš koristiti cifre ne slova, dakle Query.SQL.Add('select * from TABELA where POLJE = 123');

> Query.Prepare;

Ako ne koristiš parametre onda ti ne treba Prepare. Slično pitanje je bilo pre nekoliko dana, pogledaj tu diskusiju da se sada ne ponavljamo.
 
Odgovor na temu

prginfo
NS

Član broj: 174814
Poruke: 133
*.114.eunet.yu.



+1 Profil

icon Re: SQL sintaksa-gde gresim?10.06.2008. u 22:35 - pre 171 meseci
Nismo se razumeli. Napravio sam ovakvu varijantu zato sto npr. korisnik u toku rada menja taj integer preko Edita. Prvo sam, posto je Edit String uradio sledece A:= StrToInt(Edit1.Text), a potom zelim da nadjem u tabeli u POLJE koje je tipa Integer red sa vrednoscu koje ima A koje je isto Integer.

Poenta je da mi kod: 'select * from TABELA where POLJE = A', gde je A ustvari promenljiva koja je deklarisana kao Integer, ne funkcionise. Ja nisam hteo da biram vrednosti polja u tabeli koje su jednake stringu A, vec promenljivoj koja je deklarisana kao Integer.

Nadam se da sam bio jasniji.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.adsl-a-1.sezampro.yu.



Profil

icon Re: SQL sintaksa-gde gresim?10.06.2008. u 22:54 - pre 171 meseci
Kao što je savkić rekao, a ponoviću još jednom, treba pogledati temu sa parametrima i rešićeš problem. Jednostavno je.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2704



+84 Profil

icon Re: SQL sintaksa-gde gresim?11.06.2008. u 00:46 - pre 171 meseci
> Poenta je da mi kod: 'select * from TABELA where POLJE = A', gde je A ustvari promenljiva koja je deklarisana kao Integer, ne funkcionise.

Ponoviću: ti si ovde rekao, daj mi sve slogove iz TABELE gde je FIELD POLJE jednako polju A. Ne možeš tako pisati, vodi računa da FB server nema pojma da je A kod tebe promenljiva sa vrednošću koju želiš da dobiješ, sve što zna je da želiš poređenje sa nečim što je A, kako je A napisano bez navodnika on zaključuje da je to polje u tabeli, koje ne može naći i zato diže izuzetak.

> Ja nisam hteo da biram vrednosti polja u tabeli koje su jednake stringu A, vec promenljivoj koja je deklarisana kao Integer.

Imaš dve mogućnosti da A opet pretvoriš u string i staviš pod navodnike ... POLJE = ' + QuotedStr(IntToStr(A)) ili da koristiš parametre (za to pogledaj temu od pre nekoliko dana).
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: SQL sintaksa-gde gresim?

[ Pregleda: 2777 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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