Шаг 160.
Библиотека PyQt5.
Работа с базами данных. Соединение с базой данных (окончание)
На этом шаге мы перечислим статические методы класса QSqlDatabase и приведем пример открытия различных баз данных.
Также нам могут пригодиться статические методы класса QSqlDatabase:
- contains ([connectionName="defaultConnection"]) - возвращает True, если имеется соединение с базой данных с указанным именем, и False - в противном случае;
- connectionNames () - возвращает список имен всех созданных соединений с базами данных. Соединение по умолчанию обозначается строкой qt_sql_defauit_connection;
- database ([connectionName="qt_sql_default_connection"] [, open=True] ) - возвращает сведения о соединении с базой данных, имеющем указанное имя, в виде экземпляра класса
QSqlDatabase. Если в параметре open указано значение True, база данных будет открыта. Если такового соединения нет, возвращается некорректно сформированный
экземпляр класса QSqlDatabase;
- cloneDatabase(<QSqlDatabase>, <Имя соединения>) - создает копию указанного в первом параметре соединения с базой и дает ему имя, заданное во втором параметре.
Возвращаемый результат - экземпляр класса QSqlDatabase, представляющий созданную копию соединения;
- removeDatabase (<Имя соединения>) - удаляет соединение с указанным именем. Соединение по умолчанию обозначается строкой qt_sql_default_connection;
- isDriverAvailabie (<Формат>) - возвращает True, если указанный в виде строки формат баз данных поддерживается PyQt, и False - в противном случае;
- drivers () - возвращает список всех поддерживаемых PyQt форматов баз данных.
В примере ниже показан код, выполняющий соединение с базами данных различных форматов и их открытие.
from PyQt5 import QtWidgets, QtSql
import sys
# Создаем объект приложения, иначе поддержка баз данных не будет работать
арр = QtWidgets.QApplication(sys.argv)
# Открываем базу данных SQLite
con1 = QtSql.QSqlDatabase.addDatabase('QSQLITE')
con1.setDatabaseName('C:\\Temp\\data.sqlite')
con1.open()
con1.close()
# Открываем базу данных MySQL
con2 = QtSql.QSqlDatabase.addDatabase("QMYSQL")
con2.setHostName("localhost")
con2.setDatabaseName("archiv")
con2.setUserName("root")
con2.setPassword("")
con2.open()
con2.close()
# Открываем базу данных Microsoft Access через ODBC
con3 = QtSql.QSqlDatabase.addDatabase("QODBC")
con3.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};
FIL={MS Access};DBQ=C:\\Temp\\data.mdb")
con3.open()
con3.close()
Архив с файлом можно взять
здесь.
Полное описание класса QSqlDatabase приведено на странице
https://doc.qt.io/qt-5/qsqldatabase.html.
На следующем шаге мы рассмотрим получение сведений о структуре таблицы.
Предыдущий шаг
Содержание
Следующий шаг