Добрый день всем!
Подскажите пожалуйста (или дайте ссылку) как работать с классом atl ole db consumer,т.е. читать и модифицировать наборы данных?
Я вставил такой класс:
[
db_source(L"Provider=MSDASQL.1;Persist Security Info=False;Data Source=mydsn;Extended Properties=\"DSN=mydsn\""),
db_table(L"DBA.testgr")
]
class CDBAtestgr1
{
public:
[ db_column(1, status=m_dwxStatus, length=m_dwxLength) ] double m_x;
[ db_column(2, status=m_dwyStatus, length=m_dwyLength) ] double m_y;
DBSTATUS m_dwxStatus;
DBSTATUS m_dwyStatus;
DBLENGTH m_dwxLength;
DBLENGTH m_dwyLength;
void GetRowsetProperties(CDBPropSet* pPropSet)
{
pPropSet->AddProperty(DBPROP_CANFETCHBACKWARDS, true, DBPROPOPTIONS_OPTIONAL);
pPropSet->AddProperty(DBPROP_CANSCROLLBACKWARDS, true, DBPROPOPTIONS_OPTIONAL);
pPropSet->AddProperty(DBPROP_IRowsetChange, true, DBPROPOPTIONS_OPTIONAL);
pPropSet->AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);
}
};
Затем пытаюсь сделать так
...
...
...
HRESULT hr;
CoInitialize(NULL);
CDBAtestgr1 aaa;
if(SUCCEEDED(aaa.OpenDataSource()))
{
CDBPropSet propset(DBPROPSET_ROWSET);
CDBAtestgr1 bbb;
bbb.GetRowsetProperties(&propset);
bbb.m_x=5;
bbb.m_y=6;
hr=bbb.Insert();
hr=bbb.Update ();
}
CoUninitialize();
...
...
...
На строке hr=bbb.Insert() выдаётся ошибка E_NOINTERFACE.
Заранее большое спасибо!!!
Как работать с atl ole db consumer?
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
-
- Сообщения: 95
- Зарегистрирован: 12 окт 2015, 04:09
- Откуда: Guam
- Контактная информация:
На нашем сайте вы можете чувствовать себя в безопасности! Кроме того, мы используем зеркальные жесткие диски на все наши серверы, поэтому мы также взять резервную два раза в день на отдельных серверах. Мы используем ISPmanager, как на панели управления. ISPmanager является панель управления, которая позволяет легко управлять своей веб-сайт. С нами вы можете разместить столько веб-сайты и домены, которые вы хотите для учетной записи хостинга.
virtual hosting
virtual hosting