Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 4.144 pregleda

Najnovija ↓

SQL sintaksa-gde gresim? 10.06.2008. u 18:06 · pre 223 meseca #1
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.

Re: SQL sintaksa-gde gresim? 10.06.2008. u 18:38 · pre 223 meseca #2
Parametri su ono što treba koristiti.
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: SQL sintaksa-gde gresim? 10.06.2008. u 19:01 · pre 223 meseca #3
> 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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: SQL sintaksa-gde gresim? 10.06.2008. u 23:35 · pre 223 meseca #4
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.
Re: SQL sintaksa-gde gresim? 10.06.2008. u 23:54 · pre 223 meseca #5
Kao što je savkić rekao, a ponoviću još jednom, treba pogledati temu sa parametrima i rešićeš problem. Jednostavno je.
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: SQL sintaksa-gde gresim? 11.06.2008. u 01:46 · pre 223 meseca #6
> 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).
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme