[ Makojdis @ 22.01.2002. 15:14 ] @
Imam jedan problem sa bazom i parametrima
treba mi da uradim sledece da u neki editbox unesem recimo ime a on da mi to nadje u bazi...ja sam to uradio na sledeci nacin

imam SQL upit:
select *
from tabela
where ime =: ime

i imam kad kliknem na dugme sledece:

if Query1.ParamsByName('ime')=edit1.text then query1.open;

i sve to lepo prodje samo sto mi ne da nikakve rezultate.... u cemu je problem????


Pozdrav
[ MoDcHe @ 22.01.2002. 19:56 ] @
Ja sam to nekada radio ovako, stavis DbGrid i iz Table1 ili kako se vec zove prevuces polja koja hoces na onaj svetliji deo DbGrida i onda bi rezultati trebali da se ispisu i tim poljima, e sada moji upiti su bili drugaciji ali probaj :)
[ Dragan @ 23.01.2002. 07:28 ] @
Citat:
Makojdis:
imam SQL upit:
select *
from tabela
where ime =: ime


Ne treba ti razmak izmedju : i ime, ako nesto hoces da oznacis kao parametar uz njega stavljas :, znaci ispravno je

select *
from tabela
where ime ime=:ime

Vodi racuna o malim i velikim slovima, tj. mozes da koristis f-iju UPPER cini mi se.


Citat:

if Query1.ParamsByName('ime')=edit1.text then query1.open;

i sve to lepo prodje samo sto mi ne da nikakve rezultate.... u cemu je problem????


Ovo definitivno ne valja, treba:

Query1.ParamByName('ime').AsString:= edit1.text;
Query1.Open;

Pozdrav
[ overflow @ 23.01.2002. 10:07 ] @
Citat:
Makojdis:
Imam jedan problem sa bazom i parametrima
treba mi da uradim sledece da u neki editbox unesem recimo ime a on da mi to nadje u bazi...ja sam to uradio na sledeci nacin

imam SQL upit:
select *
from tabela
where ime =: ime

i imam kad kliknem na dugme sledece:

if Query1.ParamsByName('ime')=edit1.text then query1.open;

i sve to lepo prodje samo sto mi ne da nikakve rezultate.... u cemu je problem????


Pozdrav


Resenje 1.

Code:
Query1.Close;
Query1.ParamsByName('ime'):=edit1.text;
Query1.SQL.Clear;
Query1.SQL.Add('select * from tabela where ime = :ime');
Query1.ExecSQL;


Resenje 2.

Code:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from tabela where ime = '''+edit1.text+'''');
// select * from tabela where ime = 'edit1.text'
Query1.ExecSQL; 

[ Makojdis @ 23.01.2002. 15:26 ] @
Ok hvala