Parameters is a collection, so you have to use. In VB the Item property is the default property of the parameters collection. But in C++ there are no default properties. BTW I don't thing defaulting everthing as done in VB does the programmer do an favour. Defaulting rules can change, because there are defined by the type lib you are coding againts. So if you happen to have a newer type lib installed where the default props have changed, you will run into trouble. So I have the attitude to never depend on default probs and methods in any language I use (VB, C++, VB script) pCommand->Parameters->Item[_T("@pkMbtID")]->Value = _T'160' And is your parameter really a string or is it a number ? The Value is a _variant_t, so you can stuff in a number, if that's what you really want.