klyh(风笛) 兄:
  下面是我的一段代码,请过目:
bool Ydg_Create(const int nDay)
{
    int i = 0 ;    AnsiString  sProcName         = "DKH_SCGZ_PACK.DKH_SCGZ_YDG_P" ; //存储过程名
    AnsiString  sParam_1_Name     = "v_pRq" ,    //输入参数
                sParam_2_Name     = "v_pErr" ;   //输出参数    TScgz_Ydg_Dm *Ydg_db ;//TScgz_Ydg_Dm是我定义的一个数据模块    CoInitialize(0); //初始化COM环境    try
    {
        Ydg_db = new TScgz_Ydg_Dm(NULL) ;
    }
    catch(...)
    {
        MessageBox(Application->MainForm->Handle,
                   "【异动股】无法创建数据模块",
                   "错误",
                   MB_OK|MB_ICONSTOP
                  ) ;        CoUninitialize(); //卸载COM环境
        return false ;
    }    try
    {
        Ydg_db->Dkh_ADOProc->ProcedureName    = sProcName ;         //过程名
        Ydg_db->Dkh_ADOProc->Parameters->AddParameter() ;
        Ydg_db->Dkh_ADOProc->Parameters->Items[0]->Name      = sParam_1_Name ; //参数名
        Ydg_db->Dkh_ADOProc->Parameters->Items[0]->DataType  = ftDateTime ;    //日期型
        Ydg_db->Dkh_ADOProc->Parameters->Items[0]->Direction = pdInput ;       //输入参数
        Ydg_db->Dkh_ADOProc->Parameters->AddParameter() ;
        Ydg_db->Dkh_ADOProc->Parameters->Items[1]->Name      = sParam_2_Name ; //参数名
        Ydg_db->Dkh_ADOProc->Parameters->Items[1]->DataType  = ftInteger ;     //整型
        Ydg_db->Dkh_ADOProc->Parameters->Items[1]->Direction = pdOutput ;       //输出参数        Ydg_db->Dkh_ADOProc->Parameters->ParamByName(sParam_1_Name)->Value = TDate(nDay) ;
        Ydg_db->Dkh_ADOProc->Prepared = true ;
        Ydg_db->Dkh_ADOProc->ExecProc() ;
        i = (int)Ydg_db->Dkh_ADOProc->Parameters->ParamByName(sParam_2_Name)->Value ;
        MessageBox(Application->MainForm->Handle,
                   (IntToStr(i)).c_str(),
                   "信息",
                   MB_OK) ;
    }
    catch(...)
    {
        MessageBox(Application->MainForm->Handle,
                   "【异动股】生成中间数据失败",
                   "错误",
                   MB_OK|MB_ICONSTOP
                  );        delete Ydg_db ;
        Ydg_db = NULL ;        CoUninitialize();
        return false ;
    }    CoUninitialize(); //卸载COM环境    delete Ydg_db ;
    Ydg_db = NULL ;    return true ;
}