powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не работает CRecordset на запись
5 сообщений из 5, страница 1 из 1
Не работает CRecordset на запись
    #32560037
andy8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята плиз подскажите.
Работаю с экселовским файлом через рекордсет, на чтение работает прекрасно, а вот на запись ....ни фига :((
Не пойму уж пытался по всякому генерировал рекордсет класс визардом и пытался использовать RFX, и в ручную через Edit / Update. ODBS DSN вроде все нормально динасет и галочку реад-онли убрал ...

уж попробовал пример http://www.firststeps.ru/mfc/steps/r.php?85
ну да читает но ни хрена не редактирует. Короче крыша едет.
...
Рейтинг: 0 / 0
Не работает CRecordset на запись
    #32560093
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кусок кода который пытаеться сделать запись?
...
Рейтинг: 0 / 0
Не работает CRecordset на запись
    #32560205
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как-то игрался с этим драйвером и пришёл к печальному выводу, что надо после записи сразу закрывать базу (CDatabase).
...
Рейтинг: 0 / 0
Не работает CRecordset на запись
    #32560973
andy8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CString m_Dsnstring;
m_Dsnstring.Format("DRIVER={Microsoft Excel Driver (*.xls)}; DSN=''; FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB='C:\\filename.xls';DBQ=C:\\filename.xls");

CDatabase *m_Database = new CDatabase;
m_Database->OpenEx(m_Dsnstring, CDatabase::noOdbcDialog);
CRecordset * rset = new CRecordset( m_Database );
m_Sql.Format("SELECT * FROM [%s$A2:B5500]", "sheet1");
rset->Open(CRecordset::dynaset, m_Sql, CRecordset::none);

bool upd = rset->CanUpdate();

и ... мой рекордсет не обновляем :(
кстати махх я ведь не нашел а как конкретно засунуть новое значение в поле, но я просто до этого не дошел.
Это когда в ручную. Если я использую сгенерированный визардом класс то он просто игнорирует обновления, там то я и пытался использовать Edit() и Update().


Ой Вэй вы получали результат изменения (редактирования) ??? если да то как? и как понять надо сразу закрывать CDatabase ? почему?

Народ дайте решение пожалуйста. Если нет решения редактирования данных экселя через рекордсет придется лезть в СОМ. Мужики плиз дайте совет.
...
Рейтинг: 0 / 0
Не работает CRecordset на запись
    #32561428
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой Вэй вы получали результат изменения (редактирования) ???
Посмотрел ещё раз и убедился, что обновление не проходит, и удаление тоже.
Кроме чтения проходит только добавление, и только при использовании CDatabase::useCursorLib в CDatabase::OpenEx().
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не работает CRecordset на запись
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]