ole db provider - ошибки при обращении через ADO
От: Pavel Lebedev  
Дата: 05.12.01 18:11
Оценка:
Коллеги, есть проблема.
Написан 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
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 06.12.01 06:06
Оценка:
Здравствуйте 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 и предъявить последовательность вызовов сюда.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.