TADOQuery Parameters

Status
Niet open voor verdere reacties.

quadran

Gebruiker
Lid geworden
26 jul 2006
Berichten
162
Hallo

Ik zou een SQL string willen opbouwen en gebruik maken van parameters om SQL injectie te voorkomen.

Daartoe heb ik in de Query via de Object inspector een DatePrm gedefinieerd als zijnde Date, dit is gelukt wat hij staat in de Item list.

Als ik dan in de code schrijf

Code:
SpelergerelateerdQuery1->Parameters->ParamByName("DatePrm")->Value = NxDatePicker27->Date;

geeft hij toch weer dat de parameter DatePrm niet gevonden kan worden!!!

Wat doe ik verkeerd :confused:
 
Code:
SpelergerelateerdQuery1->SQL->Clear();
SpelergerelateerdQuery1->Parameters->ParamByName("DatePrm")->Value = NxDatePicker27->Text;
SpelergerelateerdQuery1->Parameters->ParamByName("idspeler")->Value = DBGrid2->DataSource->DataSet->Fields->FieldByName("IDSPELER")->AsInteger;
SpelergerelateerdQuery1->SQL->SetText("UPDATE Speler_gerelateerd SET geschorst1 = false WHERE idspeler = :idspeler and GEEL1X = true and geschorst1x < :DatePrm;");
SpelergerelateerdQuery1->ExecSQL();
SpelergerelateerdQuery1->Close();
 
ik heb nu de parameters in runtime gedefinieerd ipv in design en nu werkt het :love:

Code:
SpelersQuery1->Parameters->Clear();
SpelersQuery1->Parameters->CreateParameter("idspeler",ftInteger,pdInput,20,NULL);
SpelersQuery1->Parameters->CreateParameter("DatePrm",ftDate,pdInput,20,NULL);
SpelersQuery1->Parameters->ParamByName("idspeler")->Value = DBGrid2->DataSource->DataSet->Fields->FieldByName("IDSPELER")->AsInteger;
SpelersQuery1->Parameters->ParamByName("DatePrm")->Value = NxDatePicker27->Text;
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan