我在C++中使用ADO,并且在Recordset中查找特定记录时遇到问题。我写了Connection to database,Recordset.Open等...因此一切顺利。我想查找的记录已经存在于数据库中,但是Recordset-> Find方法在Recordset中找不到该特定数据。您能看一下我的代码并告诉我我哪里出问题了吗?还是写Recordset-> Find()方法的正确语法P.S我是ADO中的新手,所以我不知道这是否正确。先感谢您。
我已经尝试通过Fields-> GetItem返回记录,并且可以正常工作。它返回“nikala”。(如果确实如此)。这意味着Recordset可以很好地打开。_bstr_t AccReturn = pRecst->Fields->GetItem("Account")->Value;
我的代码:
pRecst->MoveFirst();
bool found = pRecst->Find("[Account] = 'nikala'", 0, adSearchForward);
if(found == true)
{
//update code
}
else
{
//insert into DB
}
最佳答案
这是示例:
pRecst-> Open(“SELECT * FROM TABLE”,
_variant_t((IDispatch *)pConnection),
adOpenStatic,adLockReadOnly,adCmdText);
pRecst-> MoveFirst();
pRecst-> Find(“Account ='nikala'”,0,adSearchForward);
bool(boolean) 发现=!pRecst-> EndOfFile;