读书人

如何重新打开记录集

发布时间: 2012-06-13 12:30:18 作者: rapoo

怎么重新打开记录集
我想把数据库中的用户信息显示在矿口中,但是最后的显示结果是谁登陆只显示谁,高人说是得重新取一下记录集,让我改查询语句,可是我不知道怎么改,希望大家给点意见,谢谢!!!

CString strSQL;

strSQL.Format("select * from usertable where 用户名='%s'",m_username);
BSTR bstrSQL = strSQL.AllocSysString();
m_pRecordset.CreateInstance("ADODB.Recordset");
if(m_pRecordset!=NULL)
{
m_pRecordset->Open(bstrSQL,_variant_t((IDispatch*)m_Connection,true),adOpenDynamic,adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
{
m_uname=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("用户名");
m_pwd=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("密码");
m_pRecordset->MoveNext();
}
//m_pRecordset->Close();

}

以上是我最初取记录集的代码,下面的代码是我要重新获取的数据库中所有的用户名和密码,

int i;
if(!m_pRecordset->adoEOF && m_list!=NULL)
{
for(i=0;i<100;i++)
{
m_uname=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("用户名");
m_ip=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("IP地址");

m_list->InsertItem(i,m_uname);
m_list->SetItemText(i,0,m_uname);
m_list->SetItemText(i,1,m_ip);
}
m_pRecordset->MoveNext();

[解决办法]
// Set the filter
rsCustSet.m_strFilter = _T(“state = 'CA'”);
if( !rsCustSet.Requery( ) )
// Requery failed, so take action



[解决办法]
你需要从所有用户名的表中select查询。

读书人网 >VC/MFC

热点推荐