Прежде чем мы сможем обратиться с командой SQL, к объекту нам нужно создать сессию и получить указатель на интерфейс команд. Вот это мы и будет делать. Надо объявить интерфейс команд и интерфейс сессии.
// Группа переменных для сесии IDBCreateSession* pIDBCreateSession; IDBCreateCommand* pIDBCreateCommand;
Теперь мы должны запросить интерфейс для создания сессии.
// Получаем интерфейс для создания сессии // hr=pIDBInitialize->QueryInterface(IID_IDBCreateSession, (void**) &pIDBCreateSession);
Проверить его на ошибки.
if (FAILED(hr)) { cout << "Error Quiery Session" << endl; pIDBInitialize->Uninitialize(); pIDBInitialize->Release(); CoUninitialize(); return; }
Запросит интерфейс команд
// Создаем сессию с интерфейсом команд. hr = pIDBCreateSession->CreateSession(NULL, IID_IDBCreateCommand,(IUnknown**) &pIDBCreateCommand);
Проверить его на наличие ошибок.
if (FAILED(hr)) { cout << "Error Create session" << endl; pIDBCreateSession->Release(); pIDBInitialize->Uninitialize(); pIDBInitialize->Release(); CoUninitialize(); return; }
Мы получили указатель на интерфейс команд и теперь нам указатель на интерфейс сессии и не нужен. Закроем его.
pIDBCreateSession->Release();