vc++中如何实现条件查询?求教!!

我做的条件查询的代码如下:
try
{
    _RecordsetPtr pRecordSet;
    pRecordSet.CreateInstance("ADODB.RecordSet");
    pRecordSet->Open("SELECT * FROM zhuce where gangtongbanjing='%s'",(LPCSTR) _variant_t((IDispatch
        *)(((CYyxtApp*)AfxGetApp())->m_pConnection),true),
         adOpenDynamic,
         adLockPessimistic,
         adCmdText);

     ListDataEx(pRecordSet);
     pRecordSet->Close();
} 
catch(_com_error e)///捕捉异常
{
    CString errormessage;
    MessageBox("创建记录集失败!");
}   
本人菜鸟一枚,希望大家帮忙解决一下。代码中zhuce是数据库中表的名字,gangtongbanjing是我要设置条件的变量。

pRecordSet->Open("SELECT * FROM zhuce where gangtongbanjing='%s'",(LPCSTR) _variant_t((IDispatch
)(((CYyxtApp)AfxGetApp())->m_pConnection),true),
adOpenDynamic,
adLockPessimistic,
adCmdText);
->
pRecordSet->Open(CString.Format("SELECT * FROM zhuce where gangtongbanjing='%s'", 查询条件),(LPCSTR) _variant_t((IDispatch
)(((CYyxtApp)AfxGetApp())->m_pConnection),true),
adOpenDynamic,
adLockPessimistic,
adCmdText);

open的字符串,先用CString的Format格式化好查询条件,然后传到open的第一个参数