ADO数据库编程实现查询功能解决办法

ADO数据库编程实现查询功能
在做一个图书出入库系统,怎么用ado 实现查询,通过连接SQL要求输入StNo(图书号),得到相关记录,我的代码
void CDDDlg::OnFond() 
{
// TODO: Add your control notification handler code here

// int varBookmark;
         BOOL lFound = FALSE;   
         CFindDlg dlg;
    if(dlg.DoModal() != IDOK) return;
   // varBookmark=m_pRecordset->Bookmark.intVal
    _variant_t TheValue;
CString str=_T("");

m_pRecordset->MoveFirst();//
while(m_pRecordset->adoEOF ^ lFound {
           TheValue=m_pRecordset->Fields->GetItem("StName")->Value;
           if (TheValue.vt!=VT_NULL)
             str=(char *)_bstr_t(TheValue);
           if(str==dlg.m_FindName
             lFound = TRUE;
           else
             m_pRecordset->MoveNext();
}

    if(!lFound)
{
         
         MessageBox("未发现记录","数据库错误",MB_OK | MB_ICONERROR) ;
        // m_pRecordset->Bookmark=(short)varBookmark;
}
    else
{
   _variant_t TheValue;
   CString str;
           TheValue=m_pRecordset->Fields->GetItem("StNo")->Value;
           if (TheValue.vt!=VT_NULL)
               str=(char *)_bstr_t(TheValue);
           m_StNo=str;

   TheValue=m_pRecordset->Fields->GetItem("StName")->Value;
           if (TheValue.vt!=VT_NULL)
               str=(char *)_bstr_t(TheValue);
           m_StName=str;

   TheValue=m_pRecordset->Fields->GetItem("StAge")->Value;
           if (TheValue.vt!=VT_NULL)
           m_StAge=TheValue.intVal;
        UpdateData(FALSE);   
}
}

------解决方案--------------------
呵呵,m_pCommand->Execute(&vNULL,&vNULL,adCmdText);所以查找不能返回去