Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > VC++ MSSQL ADO


Автор: P111GR1M 28.5.2007, 12:15
Здраствуйте. Не могу получить записи из БД при помощи ADO. Ловиться исключение.
Код

    try    
    {
        // Initialie COM.
        CoInitialize(NULL);

        // Connecting to the database via a 
        // _ConnectionPtr interface
        m_pConnection.CreateInstance(__uuidof(Connection));
        m_pConnection->Open("DSN=sqlconnection",
            _bstr_t(""),
            _bstr_t(""),
            adModeUnknown);

        if (NULL != m_pConnection)
        {                     
            m_lstUsers.InsertColumn(0, "Имя");
            m_lstUsers.InsertColumn(1, "Спец.");
            try    
            {
                _CommandPtr pCommand;
                pCommand.CreateInstance(__uuidof(Command));
                pCommand->ActiveConnection = m_pConnection; 
                pCommand->CommandText = "select * from Doctor_tbl";

                _RecordsetPtr pRecordset;
                pRecordset.CreateInstance (__uuidof (Recordset))))
                pRecordset->CursorLocation = adUseClient;
//  В СЛЕД СТРОКЕ ЛОВИТЬСЯ ИСКЛЮЧЕНИЕ
                pRecordset->Open((IDispatch *) pCommand, vtMissing, adOpenStatic, adLockOptimistic, adCmdUnknown);
....................................
//ИСКЛЮЧЕНИЕ
            catch(_com_error &e)
            {
                _bstr_t bstrError(e.ErrorMessage());
                CString strError = (char*)bstrError;        
                AfxMessageBox(strError);
            }    

И сообщение IDispatch error #3127
Что не правильно? Помогите

Автор: evGenie 7.6.2007, 10:52
m_pConnection->Open() завершилось успешно? Что оно вернуло? Строка инициализации разве такой должна быть?

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