Új hozzászólás Aktív témák
-
BlackWoOd
aktív tag
-
g4dg3t
senior tag
A gond ott van hogy elobb hivatkozol a parameterekre es csak kesobb hozod oket letre. Mikor meghivod a ParamByName metodust az SQL stringnek mar tartalmaznia kell a lekerdezest a parameterhivatkozasokkal egyutt!
Tehat helyesen:
...
with Query1, SQL do begin
Close;
Clear;
Add('SELECT *');
Add('FROM TranzTabla');
Add('WHERE (Datum>= :KezdDatum) AND (Datum<= :VegDatum)');
if LekerdFelhComboBox.ItemIndex > 0 then
Add('AND (Felhasznalo= :Felhaszn)');
if LekerdPartnerComboBox.ItemIndex > 0 then
Add('AND (Partner= :Partn)');
ParamByName('Felhaszn').AsString:=LekerdFelhComboBox.Text;
ParamByName('Partn').AsString:=LekerdPartnerComboBox.Text;
ParamByName('KezdDatum').AsDate:=LekerdDatePicker1.Date;
ParamByName('VegDatum').AsDate:=LekerdDatePicker2.Date;
Prepare;
Open;
end;
...
Lathatod azt is hogy mikor kell hivni a Prepare metodust (Open elott). Ez annyit csinal, hogy elore lefoglalja a Query futtatasahoz szukseges eroforrasokat igy a lekerdezes vmivel gyorsabban lefut!
[Szerkesztve] -
BlackWoOd
aktív tag
Hát, meglehet. 7-es verzióban benne van, de abban a 2.0-ás.
Esetleg ha a Companion CD-n szétnézel, lehet, hogy ott van eldugva.
(Nincs előttem 5-ös telepítő készlet, nem tudom megnézni sajna.)
Viszont sem a borland.com-on sem a bdn.borland.com-on nem találok demo-letöltést. (Tuti, hogy volt trial változata, ide a rozsdás bökőt, ha nem...)
szerk.: a 2.0 nem biztos, de tuti, hogy 1.0 fölötti volt.
[Szerkesztve] -
lao ce
aktív tag
hat arrol van elkepzelesem hogy en ezt hogyan csinalnam.
kerdes amugy hogyha cmb1 = Kiss es cmb2 = Bela
akkor az osszes kiss vagy bela kell megjelenjen vagy az osszes kis es bela?
amugy a checkboxokat hanyagolnam, az elso item minden comboban lehetne (all) vagy (minden) valasztas. kevesebb objectum = egyszerubb interfesz.
aztan kb... van egy sql valtozo, mondjuk aSQL
a combokat elnevezheted ugy mint a fieldek nevei, de egy cmb-vel az elejen, tehat cmbFirstName, cmbKeresztnev
az eleje az aSQL-nek valami ilyesmi lesz (megtartanam space-eket a ' jelek utan es elott!)
aSQL := ' select f1, f2, f3, f4 from table where ';
itt a datum
aSQL := aSQL + ' ( DateField >= #' + MyDateObj1.Value + '# ';
aSQL := aSQL + ' and DateField <= #' + MyDateObj2.Value + '# ) ';
aztan ugyi... vegig egy for ciklussal a kombokon
for i := 0 to ComponentCount-1 do begin
___currCompName := copy (Components.Name, 1, 3);
___currFieldName := copy(Components.Name,4, Length(Components.Name)-3 );
aztan mikor komborol van szo es raadasul nem a (minden) van kivalasztva:
___if (currCompName = 'cmb') and
______((Components as TCombobox).ItemIndex > 0) then
akkor hozzaadjuk az aSQL valtozohoz azt a feltetelt hogy ' and fieldname = ertek '.
meg az is van hogy itt 'and' vagy 'or' attol fuggoen hogy kiss bela hogy kell megjelenjen az elso kerdesben.
persze, ez nem ENNYIRE egyszeru mert lehet szam is meg text is meg date is a tipusa a dolognak. ez most text akar lenni de csak nem biztos hogy szintaktikailag helyesen irom.
aSQL := aSQL + ' and ' + currFieldName + ' = ''' +
Components as TCombobox)..Items.Strings [ (Components as TCombobox).ItemIndex] + ''' '
aztan egy par end a vegere es lehet futtatni a query-t.
[Szerkesztve] -
lao ce
aktív tag
- en mindig sima combo-t hasznalok

- az auto feltolteshez amugy is a DBLookupComboBox -t kellene hasznalni...
- a dbcombonak igenis VAN itemindex-e, annyira elbizonytalanitottal hogy megneztem a helpben
- szerintem (bar nem hasznalom) elallitodik, hiszen erre valo, hogy az itemindex-szel elallitodjon a db is, nem?
Új hozzászólás Aktív témák
- Vezetékes FÜLhallgatók
- Milyen videókártyát?
- Luck Dragon: Asszociációs játék. :)
- EAFC 26
- Víz- gáz- és fűtésszerelés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Arc Raiders
- Milyen cserélhető objektíves gépet?
- Fejhallgató erősítő és DAC topik
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- További aktív témák...
- Apple iPhone 17 Pro Silver 256 GB Használt, karcmentes 100% akku / 0 ciklus 1 év gari!
- Dell Latitude 5420 14" Touchscreen i5-1135G7 16GB 256GB 1 év garancia
- Eladó egy Xiaomi 12T pro Töltővel adom
- Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló rugged
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)
elhaszn)'); helyett


