Parameter Problem in ADOCommand1



  • Ich habe den folgenden code von dem BCB Developer Guide 6 genomen und getan was die dort gesabt haben aber ich bekome immer den error :

    AdoCommand1 Parameter ':StateParam' not found

    ADOCommand1->CommandText = "SELECT Username, PWD ";
    ADOCommand1->CommandText += "FROM Coupons";
    ADOCommand1->CommandText += "WHERE Username = :StateParam";
    ADOCommand1->CommandType = cmdText;
    ADOCommand1->Parameters->ParamByName("StateParam")->Value = "test";
    ADODataSet1->Recordset =  ADOCommand1->Execute();
    


  • http://codecentral.borland.com/Item.aspx?id=20128

    Seems there is alot of the sample code wrong in the Examples of ADO



  • falls es immernoch nicht funktioniert versuchs mal so:

    ADOCommand1->CommandText = "SELECT Username, PWD "; 
    ADOCommand1->CommandText = ADOCommand1->CommandText + "FROM Coupons "; 
    ADOCommand1->CommandText = ADOCommand1->CommandText + "WHERE Username = :StateParam"; 
    ADOCommand1->CommandType = cmdText; 
    ADOCommand1->Parameters->ParamByName("StateParam")->Value = "test"; 
    ADODataSet1->Recordset =  ADOCommand1->Execute();
    

    der Operator += ist bei AnsiStrings nicht günstig, zumindest nach meinen Erfahrungen

    und man sollte beachten, dass man keine Lerrzeichen im String vergisst, vorallem bei zusammengesetzten Strings



  • Das is richtig..man mus alles auf einer linie haben oder man soll nicht += fur Ansistrings benutzen...allso ich habe damit zwei stunden gearbeitet ...dann war es genug...also der Developers Guide sollte schon ein bischen besser getestet sein...

    Note:

    ADODataSet1->Recordset = ADOCommand1->Execute();

    Ist alls '**ADOCommand1->**Recordset = ADOCommand1->Execute();' im developers guide angezeigt und das ist auch falsch...


Anmelden zum Antworten