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...