如下代码,怎样设置ORACLE里参数为VARCHAR型和NUMBER型参数配置?
CreateParameter函数应该如何去写,又该怎样去赋值呢?
一定要用VARIANT型数据赋值么? _bstr_t strMessage, strAuthorID;     int intRoyalty;
     VARIANT vtRoyalty;   try
   {
      //Open a Connection.
      TESTHR(pConnection.CreateInstance(__uuidof(Connection)));
      hr = pConnection->Open(strCnn,"","",adConnectUnspecified);
      pConnection->CursorLocation = adUseClient;      //Open Command Object with one Parameter
      TESTHR(pcmdByRoyalty.CreateInstance(__uuidof(Command)));
      pcmdByRoyalty->CommandText = "byroyalty";
      pcmdByRoyalty->CommandType = adCmdStoredProc;      //Get parameter value and append parameter
      printf("Enter Royalty: ");
      scanf("%d",&intRoyalty);      //Define Integer/variant.
      vtRoyalty.vt = VT_I2;
      vtRoyalty.iVal = intRoyalty;
      pprmByRoyalty = pcmdByRoyalty->CreateParameter("percentage",adInteger,adParamInput,sizeof(int),vtRoyalty);
      pcmdByRoyalty->Parameters->Append(pprmByRoyalty);
      
      pprmByRoyalty->Value  = vtRoyalty;
           
      //Create Recordset by executing the command
      pcmdByRoyalty->ActiveConnection = pConnection;
      pRstByRoyalty = pcmdByRoyalty->Execute(NULL,NULL,adCmdStoredProc); 
}
catch
{}