def addConnection(self, driver, dbName, user, password, host, port): """ Public method to add a database connection. @param driver name of the Qt database driver (string) @param dbName name of the database (string) @param user user name (string) @param password password (string) @param host host name (string) @param port port number (integer) @return SQL error object (QSqlError) """ err = QSqlError() self.__class__.cCount += 1 db = QSqlDatabase.addDatabase(driver.upper(), "Browser{0:d}".format(self.__class__.cCount)) db.setDatabaseName(dbName) db.setHostName(host) db.setPort(port) if not db.open(user, password): err = db.lastError() db = QSqlDatabase() QSqlDatabase.removeDatabase("Browser{0:d}".format(self.__class__.cCount)) self.connections.refresh() return err
def close_database(self): self.view.setModel(None) del self.model self.db.close() del self.db QSqlDatabase.removeDatabase('ocenka.db') self.close()
def get(code, username=None): db = db_open(username=username) aliases = find_aliases(db, code) if len(aliases) > 1: print( '\nThis patient participated in multiple protocols with codes: ' + ', '.join(aliases)) output = get_all_changes(db, code) if output is None: print(f'\nNo permissions found for {code}\n') else: outcome = parse_outcome(output) files = get_files(db, code) print(f'\nPERMISSIONS FOR {code}') print_permissions(output, outcome) print_notes(output) print_files(files) db.close() del db # delete database before removing connection QSqlDatabase.removeDatabase(CONNECTION_NAME)
def addConnection(self, driver, dbName, user, password, host, port): """ Public method to add a database connection. @param driver name of the Qt database driver (string) @param dbName name of the database (string) @param user user name (string) @param password password (string) @param host host name (string) @param port port number (integer) @return SQL error object (QSqlError) """ err = QSqlError() self.__class__.cCount += 1 db = QSqlDatabase.addDatabase( driver.upper(), "Browser{0:d}".format(self.__class__.cCount)) db.setDatabaseName(dbName) db.setHostName(host) db.setPort(port) if not db.open(user, password): err = db.lastError() db = QSqlDatabase() QSqlDatabase.removeDatabase("Browser{0:d}".format( self.__class__.cCount)) self.connections.refresh() return err
def clean_database(): db = boot.connect_to_db() try: query = QSqlQuery() query.exec_("DELETE FROM tracks") query.exec_("DELETE FROM power_hours") query.exec_("DELETE FROM migrations") finally: db.close() for name in QSqlDatabase.connectionNames(): QSqlDatabase.removeDatabase(name)
def run_statements(db_name, username, password, statements): db = db_open(db_name, username, password) for t in statements: query = QSqlQuery(db) if not query.exec(dedent(t)): print(query.lastError().text()) db.close() del db # delete database before removing connection QSqlDatabase.removeDatabase(CONNECTION_NAME)
def carregarTable(self): db = QSqlDatabase().addDatabase('QSQLITE') db.setDatabaseName('Litterarius.db') if db.open(): model = QSqlTableModel(self, db) model.setTable("editoras") model.select() self.ui.tableView.setModel(model) self.ui.tableView.show() db.close() QSqlDatabase.removeDatabase('Litterarius.db')
def initialize(self, dbfile): if self.db != None: QSqlDatabase.removeDatabase(self.db_name) self.close() self.db_file = dbfile self.db = QSqlDatabase.addDatabase("QSQLITE", self.db_name) self.db.setDatabaseName(self.db_file) if not self.db.open(): print("\n ** Error opening DB: SQLite driver not loaded. DB name: %s\n" % self.db_file) print("\n Available drivers: ", QSqlDatabase.drivers()) sys.exit(-1) self._create_tables()
def add_rows(tsv_file, username=None): db = db_open(username=username) db.transaction() try: add_row_from_file(db, tsv_file) except Exception as err: db.rollback() raise (err) else: db.commit() db.close() del db # delete database before removing connection QSqlDatabase.removeDatabase(CONNECTION_NAME)
def initialize(self, dbtype=DB_TYPE_MEMORY, dbfile=DB_IN_MEMORY): if dbtype != Database.DB_TYPE_MEMORY: self.db_file = dbfile if self.db != None: QSqlDatabase.removeDatabase(self.db_name) self.close() self.db = QSqlDatabase.addDatabase("QSQLITE", self.db_name) self.db.setDatabaseName(self.db_file) if not self.db.open(): print("\n ** Error opening DB: SQLite driver not loaded. DB name: %s\n" % self.db_file) print("\n Available drivers: ", QSqlDatabase.drivers()) sys.exit(-1) db_status, db_error = self.is_db_ok() if db_status is False: print("db.initialize() error:", db_error) return False, db_error self._create_tables() return True, None
def __init__(self, cesta_nazvu): super().__init__() self.setupUi(self) self.cesta_nazvu = cesta_nazvu # # nacte nazev aktualniho projektu ze souboru "nazev.txt" # with open(cesta_nazvu) as n: # nazev=n.readlines() # # nazev=nazev[0] # cesta_inv=cesta_nazvu[::-1] #invertuje cestu # pozice=cesta_inv.find('/') #najde poradi lomitka # cesta_konecna=cesta_nazvu[0:len(cesta_nazvu)-pozice] #udela cestu adresare bez nazvu souboru # # databaze=cesta_konecna+nazev #vytvori cestu+nazev databaze #otevreni databaze db1 = QSqlDatabase.addDatabase("QSQLITE", "db1") # db = QSqlDatabase.addDatabase("") db1.setDatabaseName(cesta_nazvu) db1.open() # vytvori model databaza a nacte data projectModel1 = QSqlQueryModel() # projectModel.setQuery('select Stanovisko,Orientace, Delka,Zenitka, Smer, Kod from gps_sour',db) projectModel1.setQuery( 'select Stanovisko,Orientace,Delka,Zenitka,Smer, Kod from mereni', db1) self.tableView.setModel(projectModel1) # self.tableView.setColumnWidth(1,5) db1.close() del projectModel1 del db1 QSqlDatabase.removeDatabase("db1") self.show() self.exec()
def insert_default_values(db_name, username, password): """We can use statements, but I prefer to use python API. """ db = db_open(username=username, password=password) insert(db, 'protocols', {'protocol': '07-260_bcipatients'}) insert(db, 'protocols', {'protocol': '14-090_children'}) insert(db, 'protocols', {'protocol': '14-420_adults'}) insert(db, 'protocols', {'protocol': 'ORCHIID'}) insert(db, 'experimenters', {'experimenter': 'Mariska'}) insert(db, 'experimenters', {'experimenter': 'Erik'}) insert(db, 'experimenters', {'experimenter': 'Giovanni'}) insert(db, 'experimenters', {'experimenter': 'Mariana'}) insert(db, 'experimenters', {'experimenter': 'Elmar'}) insert(db, 'aliases', {'person': 1, 'code': 'guij'}) insert(db, 'aliases', {'person': 1, 'code': 'gennep'}) insert(db, 'aliases', {'person': 2, 'code': 'meppel'}) insert(db, 'aliases', {'person': 2, 'code': 'marrum'}) db.close() del db # delete database before removing connection QSqlDatabase.removeDatabase(CONNECTION_NAME)
def __init__(self, cesta_nazvu): super().__init__() self.setupUi(self) self.cesta_nazvu=cesta_nazvu #otevreni databaze db = QSqlDatabase.addDatabase("QSQLITE","db") db.setDatabaseName(cesta_nazvu) db.open() # vytvori model databaza a nacte data projectModel = QSqlQueryModel() projectModel.setQuery('select cb,X,Y,Z,kod from gps_sour',db) # projectModel.setQuery('select Stanovisko,Orientace,Delka,Zenitka,Smer, Kod from mereni',db) self.columnView.setModel(projectModel) self.columnView.setColumnWidth(0,1) db.close() del db del projectModel QSqlDatabase.removeDatabase("db") self.show() self.exec()
def close(self): if self.db: self.db.close() self.db = None QSqlDatabase.removeDatabase('cache')
def cleanup(self): """Close the database.""" self.db.close() QSqlDatabase.removeDatabase(self.filename)
def close(): """Close the SQL connection.""" QSqlDatabase.removeDatabase(QSqlDatabase.database().connectionName())
while querySelect.previous(): print(querySelect.value(name), querySelect.value(email)) # print(querySelect.value(name)) # print(querySelect.value(email)) # Create the application's window ''' https://realpython.com/python-pyqt-database/#closing-and-removing-database-connections ''' if con.isOpen(): con.close() # remove database connection # before remove, everything that use connection is deleted # or set to use a different data source print(QSqlDatabase.connectionNames()) QSqlDatabase.removeDatabase(QSqlDatabase.database().connectionName()) print(QSqlDatabase.connectionNames()) win = QLabel("Connection Successfully Opened!") win.setWindowTitle("App Name") win.resize(200, 100) win.show() sys.exit(app.exec_())
def close(self) -> None: """Close the SQL connection.""" database = self.qt_database() database.close() sip.delete(database) QSqlDatabase.removeDatabase(self._path)
def close(): """Close the SQL connection.""" QSqlDatabase.removeDatabase(QSqlDatabase.database().connectionName())
def __closeDatabase(self): self.logWidget.logItem("Closing database connection") QSqlDatabase.database().connectionName() self.qDatabaseConnection.close() del self.qDatabaseConnection QSqlDatabase.removeDatabase(QSqlDatabase.database().connectionName())
def __del__(self): if self.QSqlDB: self.QSqlDB.close() del(self.QSqlDB) QSqlDatabase.removeDatabase(self.ConNameByGIUD)