Открытие Excel-таблиц(листов) с помощью ADO (ActiveX Data Object)

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Ответить
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

24 дек 2007, 19:32

Собственно нужно открыть таблицу Excel
При открытии соединения с базой данных происходит нормально.

CString xConnectionString;
xConnectionString=_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"");
xConnectionString+=FileName;
xConnectionString+=CString(_T("\";Extended Properties=\"Excel 8.0;HDR=NO;\""));

m_pConnection->ConnectionString=xConnectionString;
m_pConnection->Open(m_pConnection->ConnectionString, _bstr_t(""), _bstr_t(""), adModeUnknown);

в нахождении существующих таблиц тоже не возникает проблем.
Но когда пытаюсь получить объект Recordset с данными таблицы, то возникает ошибка, код:


_tcscpy(_sql, _T("SELECT * FROM "));
_tcscat(_sql, TableName);
rst=m_pConnection->Execute(_sql, NULL, adCmdTable);

В этом случае выскакивает ошибка, что неверная комманда...
или так:
rst->Open(_sql, m_pConnection->ConnectionString, adOpenStatic, adLockOptimistic,adCmdTable);
тоже самое

rst->Open(TableName, m_pConnection->ConnectionString, adOpenStatic, adLockOptimistic,adCmdTable);
Тут же сообщает, что таблица не найдена...
Обычно выводит в конце знак $, убирал его, ноль внимания...
Уже не знаю что делать...
Аватара пользователя
Vedrus
Сообщения: 39
Зарегистрирован: 27 сен 2007, 13:04

25 дек 2007, 06:26

см. приват
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

25 дек 2007, 10:15

Vedrus, попрошу выложить решение проблемы сюда. Это может быть полезно пользователям, у которых подобная проблема возникнет в будущем.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

25 дек 2007, 20:52

Vedrus писал(а):см. приват
хм... данное решение проблемы не подходит по известным причинам...
Если можешь намекни, чем можно решить эту проблему
Если нет, буду искать проблему в другом месте
Ответить