Не удается найти запись в наборе записей ADO

#c #sql-server #ado #recordset

#c #sql-сервер #ado #набор записей

Вопрос:

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

я уже пытался вернуть запись с помощью Fields-> GetItem, и это работает. он возвращает «nikala».(если это имеет значение.) это означает, что набор записей открывается хорошо. _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:

Вот пример:

  1. Открыть Curror

    pRecst->Открыть(«ВЫБРАТЬ * ИЗ ТАБЛИЦЫ», _variant_t((IDispatch *)pConnection),
    adOpenStatic, adLockReadOnly, adCmdText);

    pRecst->MoveFirst();

    pRecst-> Find(«Account = ‘nikala'», 0, adSearchForward);

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

    найден bool = !pRecst-> Конечный файл;