МихаилллҚар. 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, 2: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 - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Енді форумда талқылаңыз
Mosquito Spray System Effective Mosquito Systems for Backyard | Eco-Friendly Misting Control Device & Repellent Spray - Moogo ; Upgrade your backyard with our mosquito-repellent device! Our misters conce…
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
NSProjectМаусым 4, 2022, 3:49 Т.Ж.
IscanderCheҚаз. 31, 2024, 3:43 Т.Қ.
Спасибо.
И еще вопрос, пытаюсь использовать запрос 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);
Після двох днів пошуку рішення, все-таки знайшов.