Михаиллл10 ноября 2018 г. 10:47
через QT не могу открыть файл SQLite
Добрый день.
Я создал в SQLiteStudio базу данных.
Пытаюсь открыть ее в QT этим кодом
QSqlDatabase ResumeDB; //resume sql
ResumeDB.setDatabaseName("C:\\CVReader\\ResumeArraySQLite.db");
if (!ResumeDB.open()) {qDebug()<<"not open";}
дебаг выдает "not open"
Не знаете, где ошибка и как открыть?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
AD
- Akiv Doros
- 11 ноября 2024 г. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
m
- molni99
- 26 октября 2024 г. 1:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
m
- molni99
- 26 октября 2024 г. 1:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Последние комментарии
Django - Урок 055. Как написать функционал auto populate field Freckles because of several brand names retin a, atralin buy generic priligy
QML - Урок 035. Использование перечислений в QML без C++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
Qt/C++ - Урок 052. Кастомизация Qt Аудио плеера в стиле AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
Алгоритм сортировки кучей The role of raloxifene in preventing breast cancer priligy precio
PyQt5 - Урок 006. Работа с QTableWidget buy priligy 60 mg 53 have been reported by Javanovic Santa et al
Сейчас обсуждают на форуме
добавить qlineseries в функции buy priligy senior brother Chu He, whom he had known for many years
Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
IscanderChe31 октября 2024 г. 15:43
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь Максимов3 октября 2024 г. 4:05
Спасибо.
И еще вопрос, пытаюсь использовать запрос exec, но выдает ошибку QSqlQuery::exec: database not open
код такой
прочитай хотя бы это
http://www.java2s.com/Code/Cpp/Qt/UsingsqldatabasefromQt.htm
спасибо , читаю.
но почему у меня не верно?
тут https://doc.qt.io/qt-5.11/qsqlquery.html#exec также написано.
их пример
и скажите пожалуйста, что такое cache
и по предложенной Вами ссылки также делают
cache это название соединения
можно так
тогда будет какая-то базовая название соединения
если я не ошибаюсь вот так будет работать твой вариант, так как при таком, ты не передаешь соединения для квери
Сделал тренировочную таблицу. Если вот так писать, то при первом запросе нет ошибок, но при повторе действия выдает ошибку QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Смотрел в редакторе SQL, данные не добавляются.
Подскажите пожалуйста, что не так.
и если делать так, тоже не работает
мені по російски важко писати тому, моежш перкласти ))))
помилка виникає тому що ти намагаєшся створити ще одне з'єднання з такоюж назвою, щоб це зробити спочатку потрібно видалити старе з'єднання
QSqlDatabase::removeDatabase(name_connect);
ти можеш зробити так
........
QSqlDatabase::removeDatabase("connect_db");
якщо у вас плануєтсяь виокористовувати одну базу то яб просто встановив зєднання десь на початку програми і потім просто на нього зсилався
усі конекти до бази в Qt є статичними
по приклату який ти скинув важно щось сказати....
Из опыта: Прежде чем использовать запрос в QSqlQuery напиши его и выполни непосредственно на базе данных. Убедись что он работает а потом переноси уже в программу. Сразу отпадет масса вопросов.
тому що цей запит не коректний, в тебе там зайві коми, зайва крапка з комою
порівняй з от цим
Большое спасибо всем за помощь.
Так работает
Добрий день.
Я реалізую з'єдання з БД у окремому потоці.
dbName = "my_db_" + QString::number((quint64)QThread::currentThread(), 16);
db = QSqlDatabase::addDatabase("QSQLITE", dbName);
db.setPort(dataBase->port());
db.setHostName(dataBase->hostName());
db.setDatabaseName(dataBase->databaseName());
dbIsValid = db.open();
І БД відкривається. Проте при створення QSqlQuery:
QString resualtQuery {"SELECT rowId, * FROM Contacts WHERE Name = \"" + name + "\""};
QSqlQuery sqlQuery {resualtQuery};
Виникає помилка:
QSqlDatabasePrivate::database: requested database does not belong to the calling thread.
QSqlQuery::prepare: database not open
Робота з потоками організована на основі signal-slot в Qt::DirectConnection.
Підкажіть, будь-ласка, що може бути не так?
Вирішення знайшов.
Вказав замість назви БД об'єкт класу QSqlDataBase для QSqlQuery.
QSqlQuery m_query = QSqlQuery(qSqlDataBase);
Після двох днів пошуку рішення, все-таки знайшов.