|
0 / 0 / 0
Регистрация: 28.06.2021
Сообщений: 17
|
||||||
PyQt5 Ошибка сегментации при работе с QtSql и Sqlite10.12.2023, 18:21. Показов 1411. Ответов 16
Добрый день.
Сталкиваюсь с проблемой при работе с Sqlite3 посредством QtSql. После удаления нескольких строк из базы далее во время штатного завершения работы программы окно закрывается, затем пауза в секунду - полторы, а затем вываливается ошибка: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV) При этом внешне вроде проблем никаких - база целая, удалённые строки удалены. Но эта ошибка нервирует, и я уже всю голову себе разбил в попытках понять, в чем же может быть дело. Гугл ничего дельного не выдал по этому поводу.
И ещё - попробовал ту же базу открыть в другом тестовом приложении, и выполнить те же действия, там ошибки нет. Правда там нет и передачи в другое окно. Буду весьма признателен за подсказку.
0
|
||||||
| 10.12.2023, 18:21 | |
|
Ответы с готовыми решениями:
16
Ошибка сегментации при работе со строками Ошибка сегментации при работе с отсортированным списком Ошибка при работе с sqlite Parameter count mismatch |
| 10.12.2023, 19:35 | ||
|
eol3000, если Вы открываете второе соединение, то ему надо дать уникальное имя (см. QSqlDatabase.addDatabase()), иначе
Добавлю, что по умолчанию используется имя qt_sql_default_connection
0
|
||
|
0 / 0 / 0
Регистрация: 28.06.2021
Сообщений: 17
|
|
| 10.12.2023, 20:06 [ТС] | |
|
Прошу прощения, я в теме баз данных пока сильно начинающий, и не совсем понял, о каком имени, первом и втором идёт речь ?
0
|
|
| 10.12.2023, 20:40 | ||||||||||||||||
|
Применение вот этого определения
Добавлено через 7 минут Видимо, где-то по тексту Вы повторно запрашиваете открытие
0
|
||||||||||||||||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
|
|
| 10.12.2023, 22:37 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 28.06.2021
Сообщений: 17
|
|
| 11.12.2023, 20:21 [ТС] | |
|
В том то и дело, что addDatabase нет больше нигде.
Сейчас попробовал задать имя наподобие этого: new_conn = QSqlDatabase.addDatabase('QSQLITE', 'my_second_connection') и таблица открылась пустая, т.е. похоже, что база не подключилась. Наверное, это имя ещё где то надо указывать ?
0
|
|
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
|
|||||||
| 11.12.2023, 20:55 | |||||||
|
sqlite - файловая БД
если вы вводите несуществующее имя - просто пустой файл будет создан my_database.sqlite
0
|
|||||||
|
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
|
||
| 11.12.2023, 20:56 | ||
|
В Qt вообще с базами данных довольно всё замудрено IMHO. Там какбы думано- открыл базу и не закрываешь её до конца приложения, но если всёже надо закрыть, там надо немного поизвращаться.
0
|
||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
|
||||||||
| 12.12.2023, 00:23 | ||||||||
Добавлено через 3 часа 15 минут базы то все разные, и приложение обычно пишется под конкретную БД я сравнивал два варианта с одинаковым функционалом - sqlite3 vs QtSql - на больших обьемах данных Qt намного шустрее
0
|
||||||||
|
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
|
|||
| 12.12.2023, 00:51 | |||
|
Добавлено через 1 минуту
0
|
|||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
|
|||||||
| 12.12.2023, 01:41 | |||||||
0
|
|||||||
|
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
|
|||
| 12.12.2023, 20:27 | |||
![]() Добавлено через 2 минуты через prepare оно более универсальнее, там и bindValues можно потом прикручивать, пусть ТС сразу к хорошему приучается
0
|
|||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
|
||||
| 12.12.2023, 22:39 | ||||
|
http://qt-doc.ru/ispolzovanie-komand-sql-v-qt.html Добавлено через 8 минут http://qt-doc.ru/soedinenie-s-bazoj-dannyh-qt.html Добавлено через 2 минуты а насчет закрытия БД -
0
|
||||
|
0 / 0 / 0
Регистрация: 28.06.2021
Сообщений: 17
|
||||||||||||||||
| 13.12.2023, 20:19 [ТС] | ||||||||||||||||
|
Спасибо всем большое за ответы!
Учитывая всё вышесказанное, поэкспериментировал, и немного опять запутался. Если имя соединения не задавать, примерно вот так:
Если же имя соединения задать, примерно вот так:
Как я могу задать имя соединения при создании модели ? Пока не нашёл ничего подходящего. И можно ли считать создание модели вторым подключением к базе ? Может как раз тут мне следует задать другое имя подключения ?
0
|
||||||||||||||||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
|
||||||
| 13.12.2023, 21:34 | ||||||
|
нужно ли вам сразу две БД использовать?
и если используете запросы - используйте лучше QSqlQueryModel
0
|
||||||
|
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
|
||
| 14.12.2023, 17:28 | ||
0
|
||
| 14.12.2023, 17:28 | |
|
Помогаю со студенческими работами здесь
17
QtSQL + SQLite = trouble Ошибка при подключении к базе данных QtSql Аппаратная ошибка видео (Ошибка при работе с видеоустройствами привела к некорректной работе Windows).
Ошибка сегментации при освобождении памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|