• 4 odgovora
  • 4.558 pregleda
ComboBox i SQL - odredjivanje uslova 19.07.2006. u 22:42 · pre 246 meseci #1
Napravio sam tabelu KOMITENTI u okviru programa IMENIK.
U njoj sam stavio polja ID_K, TELEFON, NAZIV, GRAD, GRUPA (prijatelj, rodbina, kolega), ADRESA.... Napravio sam formu na kojoj sam postavio DBGrid u kome se prikazuje NAZIV komitenata iz tabele i nju sam vezao za Query. Na formi se nalaze 2 ComboBox-a.
Pokusao sam da napravim pretrazivnje po odredjenim uslovima. Npr po uslovu GRAD i uslovu GRUPA na klik dugmeta.

Pokusao sam sledece:

var
grupa:String;
grad:String;
begin
{u Items ComboBox-a sam naveo samo vrednosti koje mi se pojavljuju u tabeli}

if ComboBox1.ItemIndex=0 then grupa:='prijatelj';
if ComboBox1.ItemIndex=1 then grupa:='rodbina';
if ComboBox1.ItemIndex=2 then grupa:='kolega';

if ComboBox2.ItemIndex=0 then grad:='Novi Sad';
if ComboBox2.ItemIndex=1 then grad:='Beograd';
if ComboBox2.ItemIndex=2 then grad:='Subotica';

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from KOMITENTI where GRAD like ' +ANsiUpperCase(grad)+ 'and GRUPA like '+ANsiUpperCase(grupa));
Query1.Prepare;
Query1.Open;

end;

Prijavljuje mi problem-poruku:

Dynamic SQL Error
SQL error code=-206
Column unknown
Beograd
At line 1, column 63.

Treba mi pomoc da znam gde gresim.
Re: ComboBox i SQL - odredjivanje uslova 19.07.2006. u 22:52 · pre 246 meseci #2
Posto su kolone GRAD i GRUPA tipa string treba da turis prijatelji, ... i Beograd,... pod apostrofe
Code:

Query1.SQL.Clear;
Query1.SQL.Add('select * from KOMITENTI where GRAD like ''' +ANsiUpperCase(grad)+ ''' and GRUPA like '''+ANsiUpperCase(grupa))+'''';

ili
Code:

Query1.SQL.Clear;
Query1.SQL.Add('select * from KOMITENTI where GRAD like ' +QuotedStr(ANsiUpperCase(grad))+ 'and GRUPA like '+QuotedStr(ANsiUpperCase(grupa)));


I ne znam zasto koristis like umesto =.
Re: ComboBox i SQL - odredjivanje uslova 20.07.2006. u 02:31 · pre 246 meseci #3
Pozdrav,

kratak komentar. Naime, umesto TComboBox-a, na formu bih postavio TDBLookupComboBox i povezao sa kolonama iz baze Grad i Grupa. Tako da, ako se doda neki novi grad ili grupa u bazu, automatski se pune i TDBLookupComboBox. Praktičnije je.
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: ComboBox i SQL - odredjivanje uslova 20.07.2006. u 12:24 · pre 246 meseci #4
Posto mu je potrebno za pretragu, TDBLookupComboBox mu ni slucajno ne bi odgovarao. Pri izmeni vrednosti u njemu, menjala bi se vrednost za polje (npr GRAD) tekuceg recorda.
Re: ComboBox i SQL - odredjivanje uslova 20.07.2006. u 15:10 · pre 246 meseci #5
Pa nek postavi ReadOnly na True?!
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme