如下代码,怎样设置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
{}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货