Статья: Введение в ADO
Значение - значение, с которым сравнивается значение поля. Причем для строковых типов данных значение должно быть заключено в одинарные кавычки, для даты значение заключается между символами #. Допускается использование (как и в SQL синтаксисе) символов * и %, например при использовании оператора LIKE. Также допускается применение логических операторов AND и OR для составления комбинированного критерия фильтрации.
Свойство Filter также может принимать значение одной из нижеперечисленных констант:
adFilterNone - Отменяет текущее значение свойства Filter.
adFilterPendingRecords - В режиме пакетной модификации (см.ниже) это значение можно использовать для выбора только из тех строк, которые были изменены, но еще не модифицированы в базе данных.
adFilterAffectedRecords - Выбирает строки, для которых выполнялась последняя операция Delete(), Resync(), UpdateBatch(), CancelBatch().
adFilterFetchedRecords - выбирает строки, которые в настоящее время содержатся в локальном буфере.
7.3. Доступ к данным набора записей.
Информацию о строках (записях) можно получить, используя объекты Field коллекции Fields созданного и открытого Recordset'a.
Коллекция Fields содержит два свойства:
Count - количество столбцов в выборке (более правильно, конечно говорить о количестве объектов Field в коллекции Fields).
Item - предоставляет доступ (возвращает ссылку) к объекту Field по имени или порядковому номеру, т.е. вам становятся доступны такие свойства объекта Field, как имя поля, размер, тип и значение поля.
Покажем это все на примере:
int nNumFields = pRst->Fields->Count;
for(int i=0;i<nNumFields;i++)
{
_bstr_t strName = pRst->Fields->Item[(_variant_t)I]->Name;
_bstr_t strValue = pRst->Fields->Item[(_variant_t)I]->Value;
TRACE(" %S = %S (тип: %d) ", (LPCTSTR)strName, (LPCTSTR) strValue, (short) pRst->Fields->Item(_variant_t)I]->Type);
}
//Или то же самое, но с созданием объектов FieldsPtr и FieldPtr
FieldsPtr pFields;
FieldPtr pField;
pFields= pRst->Fields;
int nNumFields = pFields->Count;
for(int i=0;i<nNumFields;i++)
{
pField = pFields->GetItem((_variant_t)i);
_bstr_t strName =pField->Name;
_bstr_t strValue = pField->Value;