存储过程为:
CREATE PROCEDURE [dbo].[show_wendu1]
@year INT,
@month INT,
@day INT
AS
SELECT 时间,温度
FROM 采集点1
WHERE YEAR(时间)=@year AND MONTH(时间)=@month AND DAY(时间)=@dayVC编程为:
_RecordsetPtr& ADOConn::Executesp(_bstr_t bstrSQL, int vtdays1 , int vtdays2, int vtdays3)
{
    try
    {
// 是否已经连接数据库
        if(m_pConnection == NULL)
            OnInitADOConn();
        m_pCommand.CreateInstance(__uuidof(Command));
        m_pRecordset.CreateInstance(__uuidof(Recordset));
        
        m_pCommand->ActiveConnection = m_pConnection;
        m_pCommand->CommandText = bstrSQL;//存储过程名
        m_pCommand->PutCommandType(adCmdStoredProc);
        m_pCommand->Parameters->Refresh();//从数据库查询参数信息
        //接下来对每一个参数赋值。
        //long cnt = m_pCommand->Parameters->GetCount();//取得参数的个数
        //for(long k = 1; k<cnt; k++)
        //由于ADO中认为返回值是第一个参数, 因此这里用k=1过滤第一个参数

          m_pCommand->Parameters->GetItem(1)->Value=_variant_t((LPCTSTR)vtdays1);
  m_pCommand->Parameters->GetItem((2)->Value=_variant_t((LPCTSTR)vtdays2);
  m_pCommand->Parameters->GetItem((3)->Value==_variant_t((LPCTSTR)vtdays3);
        //执行这个存储过程 

        m_pRecordset = m_pCommand->Execute(0,0,adCmdStoredProc);        
    }
    catch (_com_error e)
    {
        AfxMessageBox(e.Description());
    }
    return m_pRecordset;
}
函数头在文件 ADOConn.h中,执行程序为:
         UpdateData(TRUE);
ADOConn adoc; //定义类对象
adoc.Executesp(_bstr_t("show_wendu1"),m_year,m_month,m_day);为什么显示没有给@year参数赋值,
急用!谢谢了