Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Использование ADO в MFC- диалоговом приложении.


Автор: Albor 10.5.2009, 12:19
Подскажите пожалуйста такой момент. Подключаюсь к базе данных, используя ADO. Пример взял из книги Ю. Олафсена. Но там используется консольное приложение и в консоли и у меня всё получилось. Перенёс код в диалоговый проект MFC, на этапе линковки выскакивают ошибки:
Код

Linking...
1>Test_MFC_VS09Dlg.obj : error LNK2001: unresolved external symbol _CLSID_CADORecordset
1>Test_MFC_VS09Dlg.obj : error LNK2001: unresolved external symbol _IID_IADORecordset
1>D:\Тестовые проекты\win32\Test_MFC_VS09\Debug\Test_MFC_VS09.exe : fatal error LNK1120: 2 unresolved externals
 
Код выглядит так:
Код

void CTest_MFC_VS09Dlg::OnBnClickedButton1()
{
    CoInitialize(NULL);

    ADORecordset * rst;
    HRESULT hr=CoCreateInstance(
        CLSID_CADORecordset,
        NULL,
        CLSCTX_INPROC_SERVER,
        IID_IADORecordset,
        (LPVOID*)&rst);
    if(FAILED(hr))
    {
        MessageBox(_T("Нельзя создать объект ADORecordset"));
        CoUninitialize();
    }
    else MessageBox(_T("Объект ADORecordset создан"));
    CoUninitialize();
}

В одном источнике нашёл, что нужно сделать следующее объявление в stdafx.h :
Код

#define DBINITCONSTANTS
иначе возможны подобные ошибки, но это не помогло. Пробовал компилировать в VS 6 и в VS 2008. Ошибки одинаковые.

Автор: Rififi 10.5.2009, 13:17
KB177939

Автор: Albor 10.5.2009, 13:33
Цитата(Rififi @  10.5.2009,  13:17 Найти цитируемый пост)
KB177939


Rififi, что это?
Sorry, нашёл.

Добавлено через 13 минут и 51 секунду
Rififi, выручили! Скомпилилось, спасибо! Моё уважение и +1

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)