directory
Есть? QT += sql
Тебе нужен неймспейс QSql или все же QtSql?
чем открыть базу access .mdb?
как это в qt сделать?
попробовать открыть документацию сначала по драйверу ODBC в Qt, потом собственно по самому ODBC
QSqlDatabase для подключения, QSqlQuery для запросов.
Приветствую. Помните, я как-то спрашивал про таблицу с перемещаемыми ячейками? Ваш GridView действительно сильно помог
а есть какие-то примеры практичные? чем копать тонны документации, которую сложно мне понять
Тогда просто ищешь в гугле. https://stackoverflow.com/a/4051675/11992838
db = QSqlDatabase::addDatabase("QODBC"); db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DSN='';DBQ=C:\\stbuiler\\newprice_2003.mdb"); if(db.open()){ qDebug()<<"return true"; } else { qDebug()<<db.lastError(); } но выдает ошибку, для обоих типов и mdb(2003) и accdb QSqlError("0", "QODBC: Unable to connect", "[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию") драйвер QODBC есть в списке установленных
А есть ли в винде пуск->панель управления->администрирование->источник данных (ODBC) ?
Открой ODBC и скинь скрин что там в "Пользовательский DSN"
Нет конечно. Где-то ещё есть 32 битное по?)
У меня. Ноутбук 32 бит
Раритеты
По умолчанию офис 64 битный ставит odbc 32 битные . Вот как раз узучите этот вопрос
Да я просто офтоплю, реально редко вижу 32 битное по/аппаратуру последнее время
На скрине в заголовке видно, что 64бита odbc
Ради интереса соберите x86 приложение
Там по другому оно называется, надо посмотреть, какое имя
Я два варианта попробовал, с документации к qt и с примера со стаковерфлоу, результат один(
У меня так работало _db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MSAccess};DSN='Microsoft Access Driver';DBQ=C:\\Project\\mdb1\\data.mdb");
Попробуй вариант что написал @RenatGaraev, если не получится, попробуй это установить https://www.microsoft.com/ru-RU/download/details.aspx?id=39358
@habramen или этот https://www.microsoft.com/en-us/download/details.aspx?id=54920
Да кстати, помню что еще надо DRIVER капсом писать
после установки вот этого дистрибутива, поменялась ошибка теперь пишет QSqlError("-1811", "QODBC: Unable to connect", "[Microsoft][Драйвер ODBC Microsoft Access]Общий сбой Не удается открыть раздел реестра \"Temporary (volatile) Ace DSN for process 0x675c Thread 0x6160 DBC 0xf11b8f88 Jet\". [Microsoft][Драйвер ODBC Microsoft Access] Не удается найти файл '(нет данных)'.") строчка кода db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MSAccess};DSN='Microsoft Access Driver';DBQ=C:\\stbuilder\\price_2003.mdb");
есть смысл попробовать вот этот дистрибутив поставить, не будет конфликтовать?
В крайнем ты можешь удалить что уже ставил
в общем, у меня все заработало, но сломался офис 😂
ну сообщество ща плеваться будет :)
почему?))) upd. сломался access, не запускается. появляется окно и белый экран и пару кнопок интерфейса. и больше ничего. остальной офис слава богу работает(((
Обсуждают сегодня