Russian Qt Forum

Qt => Базы данных => Тема начата: vunshpunsh от Февраль 27, 2010, 15:56



Название: Запись данных в базу MS Excel
Отправлено: vunshpunsh от Февраль 27, 2010, 15:56
Здравствуйте!

Проблема в следующем: пытаюсь в таблицу файла Excel записать данные. Подключаюсь с помощью ODBC.
Код:
setDatabaseName("DRIVER={Microsoft Excel Driver (*.xls)};FIL={MS Excel}; DBQ=" + QDir::currentPath()+ "/" +dbName);
Код:
QSqlTableModel *model = new QSqlTableModel;
    model->setTable(TABLENAME);
    model->select();
    QSqlRecord rec =  model->record();
    rec.setValue(0,QVariant(123).toString());
    model->setRecord(0,rec);
    model->submitAll();


    QTableView *v = new QTableView();
    v->setModel(model);
    v->show();
При выполнении данного кода во view отображается уже измененная ячейка, но в отладочном выводе
QODBCResult::exec: Unable to execute statement: "  [Microsoft][Драйвер ODBC Excel] В операции должен использоваться обновляемый запрос." В файле excel изменений нет. пробовал различные комбинации со стандартными запросами UPDATE и INSERT, результат - ошибка [Microsoft][Драйвер ODBC Excel] Ошибка последовательности функций.
Заранее спасибо за помощь!


Название: Re: Запись данных в базу MS Excel
Отправлено: JayFOX от Март 02, 2010, 20:59
Код:
db.setDatabaseName("DRIVER={Microsoft Excel Driver (*.xls)};FIL={MS Excel};READONLY=FALSE; DBQ= db.xls");


Название: Re: Запись данных в базу MS Excel
Отправлено: NicK от Март 03, 2010, 09:10
Вот здесь есть пример:
http://www.prog.org.ru/topic_10362_0.html (http://www.prog.org.ru/topic_10362_0.html)


Название: Re: Запись данных в базу MS Excel
Отправлено: vunshpunsh от Март 04, 2010, 18:20
Спасибо!
Всё заработало.