you can try this way
pAppView->m_pSet->m_strFilter.Format("[train_stop_info].[prefix]=%sAND [train_stop_info].[tid]=%d",str,id);
you don't have to use parameter.

解决方案 »

  1.   

    好象构造函数中没有初始化参数
    CTstSmSet::CTstSmSet(CDatabase* pdb)
    : CRecordset(pdb)
    {
        ......
        m_stopParam = _T("");
        m_prefixParam = _T("");
        m_tidParam = _T("");
        m_nParams =3;    -------->(这里我传入三个参数)
    m_nDefaultType = dynaset;
    }
      

  2.   

    pAppView->m_pSet->m_strFilter.Format("[train_stop_info].[prefix]=%sAND [train_stop_info].[tid]=%d",str,id);不成功啊!报错!invalid colume name str,id
      

  3.   

    好象构造函数中没有初始化参数
    m_nParams 是CRecordSet 的成员参数啊!可以直接用的!
    问题不在这里!在m_strFilter上
      

  4.   

    m_strFilter保存的是WHERE CLAUSE,定义一个记录集指针,然后打开记录集(与train_stop_info表关联),然后
    CString str;
    str.Format("prefix]=%s AND tid=%d",str,id);
    pSet->m_strFilter=str;pSet->Requery();
    试试!应该没有问题
      

  5.   

    多打了一个]
    CString str;
    str.Format("prefix=%s AND tid=%d",str,id);
    pSet->m_strFilter=str;pSet->Requery();
    试试!应该没有问题
      

  6.   

    使用参数化查询:
    1、声明参数化变量
    2、在构造函数中初始化
    3、将变量与你想要查询的列绑定
    我觉得你的问题出在这里
    pFX->SetFieldType(CFieldExchange::inputParam );
    改为pFX->SetFieldType(CFieldExchange::param );
    试试吧
      

  7.   

    不好意思,纠正一下错误:
    str.Format("prefix=%s AND tid=%d",str,id);
    改为str.Format("prefix=\'%s\' AND tid=%d",str,id);
    字符串得加上单引号