Új hozzászólás Aktív témák

  • g4dg3t

    senior tag

    válasz Notes #790 üzenetére

    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]

Új hozzászólás Aktív témák