Коллеги, есть проблема.
Написан OLE DB Provider за основу взята заготовка из msdn, добавлена
поддержка закладок. Через consumer данные прекрасно получаются, теперь
пробую из VB. Такой вот код
rstData.MoveFirst
Do while not rstData.EOF
...
rstData.MoveNext
loop
показывает 1ю запись и вылетает.
Зато i = 0
rstData.MoveFirst
Do while not rstData.EOF
...
i = i + 1
rstData.Move i, 1
loop
аккуратно перебирает все записи, если наложен фильтр то аккуратно фильтрует,
но при этом естественно все становится очень медленно, врет RecordCount...
Что нужно сделать в провайдере чтобы можно было его использовать в ADO?
Re: ole db provider - ошибки при обращении через ADO
Здравствуйте Pavel Lebedev, Вы писали:
PL>Коллеги, есть проблема. PL>Написан OLE DB Provider за основу взята заготовка из msdn, добавлена PL>поддержка закладок. Через consumer данные прекрасно получаются, теперь PL>пробую из VB. Такой вот код PL> rstData.MoveFirst PL> Do while not rstData.EOF PL> ... PL> rstData.MoveNext — вылетает здесь? PL> loop PL>показывает 1ю запись и вылетает.
Куда хоть вылетает? И где именно? Через какой интерфейс осуществляется позиционирование?
PL>Зато i = 0 PL> rstData.MoveFirst PL> Do while not rstData.EOF PL> ... PL> i = i + 1 PL> rstData.Move i, 1 PL> loop PL>аккуратно перебирает все записи, если наложен фильтр то аккуратно фильтрует, PL>но при этом естественно все становится очень медленно, врет RecordCount...
PL>Что нужно сделать в провайдере чтобы можно было его использовать в ADO?
добавить кучу трассировочного кода в IRowset/IRowsetLocate и предъявить последовательность вызовов сюда.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --