#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:
Вот пример:
- Открыть Curror
pRecst->Открыть(«ВЫБРАТЬ * ИЗ ТАБЛИЦЫ», _variant_t((IDispatch *)pConnection),
adOpenStatic, adLockReadOnly, adCmdText);pRecst->MoveFirst();
pRecst-> Find(«Account = ‘nikala'», 0, adSearchForward);
- Проверьте, существует ли запись со свойством EndOfFile:
найден bool = !pRecst-> Конечный файл;