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);所以查找不能返回去
在做一个图书出入库系统,怎么用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);所以查找不能返回去