在Recordset ADO中找不到记录

时间:2019-04-19 13:58:11

标签: c++ sql-server ado recordset

我正在将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
}

1 个答案:

答案 0 :(得分:0)

以下是示例:

  1. 打开光标

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

    pRecst-> MoveFirst();

    pRecst-> Find(“ Account ='nikala'”,0,adSearchForward);

  2. 检查记录是否存在具有EndOfFile属性:

    发现布尔=!pRecst-> EndOfFile;