2 sinat 28740363 sinat_28740363 于 2015.06.05 15:47 提问

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是我要设置条件的变量。

2个回答

caozhy
caozhy   Ds   Rxr 2015.06.05 16:26

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);

sinat_28740363
sinat_28740363 希望能帮我解答。
2 年多之前 回复
sinat_28740363
sinat_28740363 出现下面的问题:error C2664: 'Open' : cannot convert parameter 1 from 'void' to 'const class _variant_t &' Expressions of type void cannot be converted to other types
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.06.05 17:21

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

sinat_28740363
sinat_28740363 回复sinat_28740363: 感谢你的帮助,我的问题已解决。
2 年多之前 回复
sinat_28740363
sinat_28740363 回复oyljerry: 运行之后还是不行,点击查询之后没有反映。我问你一下,我代码中的m_k是不是就是我的查询条件?也就是说,我在gongtongbanjing对应编辑框中输入一个数,根据这个条件查询呢?
2 年多之前 回复
oyljerry
oyljerry 回复sinat_28740363: \'%s\' format中这样呢
2 年多之前 回复
sinat_28740363
sinat_28740363 try { CString vSql,m_k; _RecordsetPtr pRecordSet; pRecordSet.CreateInstance("ADODB.RecordSet"); vSql.Format("SELECT * FROM zhuce WHERE gangtongbanjing='%s'", (LPCSTR)m_k); pRecordSet->Open(vSql.AllocSysString(), _variant_t((IDispatch *)(((CYyxtApp*)AfxGetApp())->m_pConnection),true), adOpenDynamic, adLockPessimistic, adCmdText); 我这样弄的,然后功能还是实现不了。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片