在记录集 ADO 中找不到记录

Can not find record in Recordset ADO

本文关键字:记录 找不到 ADO      更新时间:2023-10-16

我正在使用带有C++的 ADO,并且在记录集中查找特定记录时遇到问题。所以一切都很顺利。我想查找的记录已经存在于数据库中,但 Recordset->Find 方法无法在记录集中找到该特定数据。你能看看我的代码并告诉我哪里出错了吗?还是这是编写记录集>Find((方法的正确语法 P.S 我是 ADO 的新手,所以我不知道这是否是正确的语法。提前谢谢你。

我已经尝试通过字段>GetItem返回记录并且它可以工作。 它返回"尼古拉"。(如果确实重要的话。所以这意味着记录集打开得很好。 _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
}

下面是示例:

  1. 打开库罗尔

    pRecst->Open("SELECT * FROM TABLE", _variant_t((IDispatch *(pConnection(,
    adOpenStatic, adLockReadOnly, adCmdText(;

    pRecst->MoveFirst((;

    pRecst->Find("Account = 'nikala'", 0, adSearchForward(;

  2. Check记录存在于 EndOfFile 属性中:

    bool found = !pRecst->EndOfFile;