Войти

Показать полную графическую версию : Ошибка при использовании Recordset->Save метода


angryMF
16-08-2007, 12:23
Помогите разобраться с проблемой... Пишу на C++ прогу, которая просматривает содержимое почтового ящика - пользую ADO.
Все вроде работает: просматриваю атрибуты писем, до момента, когда надо скопировать письмо.
В упррощенной модели это выглядит так:

_ConnectionPtr conn(__uuidof(Connection));
_RecordsetPtr MyFolders(__uuidof(Recordset));


conn->Provider = "Exoledb.DataSource";

hRes = conn->Open(szConnString,"","",0);

_bstr_t strQ = "select * from scope ('shallow traversal of \"" + szConnString + "\"')";

hRes = MyFolders->Open(strQ,conn->ConnectionString,adOpenForwardOnly,adLockUnspecified,0);
.....................
MyFolders->Save("c:\\message.xml",adPersistXML);

...........................

Вобщем выскакивает ошибка:

Save failed because [DAV:supportedlock] has an unsupported data type...

Интуиция подсказывает, что косяк с провайдером, но я так и не смог ничего придумать!
Особенно огорчает то, что большинство примеров на VBasic

Кстати, где бы посмотреть полный список атрибутов IPM.Note класса (это которые обычные сообщения)?
В частности очень интересует работа с Attachmentами.




© OSzone.net 2001-2012