МихаилллNov. 10, 2018, 10:47 a.m.
через QT не могу открыть файл SQLite
Добрый день.
Я создал в SQLiteStudio базу данных.
Пытаюсь открыть ее в QT этим кодом
QSqlDatabase ResumeDB; //resume sql
ResumeDB.setDatabaseName("C:\\CVReader\\ResumeArraySQLite.db");
if (!ResumeDB.open()) {qDebug()<<"not open";}
дебаг выдает "not open"
Не знаете, где ошибка и как открыть?
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
AD
- Akiv Doros
- Nov. 12, 2024, 1:58 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 11:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 11:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 10:51 p.m.
Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 5:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 5:04 p.m.
NSProjectJune 4, 2022, 1:49 p.m.
IscanderCheNov. 1, 2024, 1:43 a.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Спасибо.
И еще вопрос, пытаюсь использовать запрос 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);
Після двох днів пошуку рішення, все-таки знайшов.