Не удается найти запись в Recordset ADO - PullRequest
1 голос
/ 19 апреля 2019

Я использую ADO с C ++, и у меня проблема с поиском конкретной записи в Recordset. Я написал Connection to database, Recordset.Open и т. Д. ... Так что все идет хорошо. И какая запись, которую я хочу найти, уже существует в базе данных, но метод Recordset-> Find не смог найти эти конкретные данные в Recordset. Не могли бы вы взглянуть на мой код и сказать, где я ошибаюсь? или это правильный синтаксис записи метода Recordset-> Find () P.S Я новичок в ADO, поэтому я не знаю, правильный ли это синтаксис. Заранее спасибо.

Я уже пытался вернуть запись по Fields-> 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 Ответ

0 голосов
/ 19 апреля 2019

Вот образец:

  1. Открытый курсор

    pRecst-> Open («ВЫБРАТЬ * ИЗ ТАБЛИЦЫ», _variant_t ((IDispatch *) pConnection),
    adOpenStatic, adLockReadOnly, adCmdText);

    pRecst-> MoveFirst ();

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

  2. Проверка записи существует со свойством EndOfFile:

    bool found =! PRecst-> EndOfFile;

...