adoquery select

Dbase, sql, paradox in vse drugo kar se tiče baz.
Odgovori
krnekej
Prispevkov: 17
Pridružen: 05.03.2005 21:14:57

adoquery select

Odgovor Napisal/-a krnekej » 15.05.2012 20:36:29

Pozdravljeni,
ali mi lahko kdo pomaga s sledečim problemom.
Uporabljam firebird bazo.

Koda: Izberi vse

form19.skupaj.SQL.Text := 'select distinct dela_uporabniki.sifra_uporabnika from dela inner join dela_uporabniki on dela.zaporedna_stevilka_dela_leto=dela_uporabniki.zaporedna_stevilka_dela WHERE dela.datum BETWEEN '+Quotedstr(datetostr(datetimePicker1.Date))+ ' AND ' + Quotedstr(datetostr(Datetimepicker2.Date)) + 'and ' + ' dela.sifra_postopka =''' + edit2.Text + '''';
Zanima me tale
edit2.text
, ki je recimo beseda. V tem primeru je samo ena. Kako pa narediti, da bi dal pogoj več besed. Da uporabnik v neko polje vpiše te besede in jih sql izbrska in prikaže. Verjetno obstaja kakšen način, da ni potrebno v sql dodajat recimo 5x edit.text. Kakršna koli rešitev bi prišla prav. Upam da sem bil razumljiv.Hvala

Stupa
Prispevkov: 44
Pridružen: 20.10.2003 21:17:37

Re: adoquery select

Odgovor Napisal/-a Stupa » 23.05.2012 17:19:08

select * from tablea
where sifra in (1,2,5,10)

dela tudi s stringi

lp.

aky
Prispevkov: 368
Pridružen: 27.12.2001 22:08:32

Re: adoquery select

Odgovor Napisal/-a aky » 24.05.2012 07:56:50

...+ ' dela.sifra_postopka =''' + edit2.Text + '''';
Brrr... To kar kliče po exploitu.

Parametri!

A.

zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Re: adoquery select

Odgovor Napisal/-a zippo » 01.06.2012 23:52:33

Res je - najprejpredelaj parametre.

Za več besed pa morda narediš z npr. for zanko, ki napolni parametre query-ja.

res grob približek kode:

Koda: Izberi vse

for I := 0 to št besed v editu do begin
  form19.skupaj.ParamByName('PARAM_'+IntToStr(I)).AsString := beseda[I];
end;
form19.skupaj.ExecuteSql;

Odgovori