部分程序代码如下:1>.其中参数pParam_CoilNo中传递的值最后由空格。而且我执行pRs->Execute(&pCmd)调用存储过程后,
                  通过pParam_CoilNo.GetVale(szPrintCoil); 获取szPrintCoil值依然是有"123456789 "的。可是为什么在存储过程中,空格怎么就没有了呢?
                  2>.更奇怪的是,我在Toad中调用此存储过程:
                  declare
                   alrmmsg varchar2(500);
                   user_data varchar2(4000);
                begin
                   Transfer.Transfer_AllInst_1220_Msg_Mk('123456789 ','C472','L9E0004230','ALL',1,alrmmsg,user_data);
                   DBMS_OUTPUT.PUT_LINE('Alarm:'||alrmmsg);
                end;
                存储过程中显示是有空格的。                  
       3>.ADO方式调用后台存储过程代码如下:
{
CString szAlarmMsg=_T("");
CString szTemp=_T("0");
                                CString szPrintCoil=_T("");

CADOParameter pParam_CoilNo(CADORecordset::typeVarChar, sizeof(char) * 10);
CADOParameter pParam_ProcessCode(CADORecordset::typeVarChar, sizeof(char) * 4);
CADOParameter pParam_OrderNo(CADORecordset::typeVarChar, sizeof(char) * 10);
CADOParameter pParam_SampleType(CADORecordset::typeVarChar, sizeof(char) * 5);
  CADOParameter pParam_Position(CADORecordset::typeVarChar, sizeof(char)*3);        
                             CADOParameter pParam_TestTimes(CADORecordset::typeVarChar, sizeof(char));
CADOParameter pParam_Alrmmsg(CADORecordset::typeVarChar, sizeof(char) * 100,CADOParameter::paramOutput);          
                                     m_selectedCoil = _T("123456789 ");
pParam_CoilNo.SetValue(m_selectedCoil);
pParam_ProcessCode.SetValue(m_selectedProcessCode);
pParam_OrderNo.SetValue(m_selectedContractNo);                
pParam_SampleType.SetValue(m_SampleType);
pParam_Position.SetValue(m_selectedSamplePosition);
pParam_TestTimes.SetValue(szTemp); CADOCommand pCmd(&LabDB, "CLENGZHA.TRANSFER.Transfer_AllInst_1220_Msg_Mk");
pCmd.AddParameter(&pParam_CoilNo);
pCmd.AddParameter(&pParam_ProcessCode);
pCmd.AddParameter(&pParam_OrderNo);
pCmd.AddParameter(&pParam_SampleType);
pCmd.AddParameter(&pParam_Position);
pCmd.AddParameter(&pParam_TestTimes);
pCmd.AddParameter(&pParam_Alrmmsg);


CADORecordset* pRs = new CADORecordset(&LabDB);
if(pRs->Execute(&pCmd))
{
pParam_Alrmmsg.GetValue(szAlarmMsg);
                                        pParam_CoilNo.GetVale(szPrintCoil); /*此处发现传递的参数包含空格*/
                                }   
delete pRs;

szAlarmMsg.TrimLeft();
szAlarmMsg.TrimRight();
if(szAlarmMsg!=_T("")){
AfxMessageBox("存储过程调用失败!失败原因可能是:" + szAlarmMsg + "!");
LabDB.RollbackTransaction();
return;
}

}