我正在将ADO与C ++一起使用,并且在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
}
答案 0 :(得分:0)
以下是示例:
打开光标
pRecst-> Open(“ SELECT * FROM TABLE”,
_variant_t((IDispatch *)pConnection),
adOpenStatic,adLockReadOnly,adCmdText);
pRecst-> MoveFirst();
pRecst-> Find(“ Account ='nikala'”,0,adSearchForward);
检查记录是否存在具有EndOfFile属性:
发现布尔=!pRecst-> EndOfFile;