Example #1
0
    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
Example #2
0
 def close_database(self):
     self.view.setModel(None)
     del self.model
     self.db.close()
     del self.db
     QSqlDatabase.removeDatabase('ocenka.db')
     self.close()
Example #3
0
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)
Example #4
0
    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
Example #5
0
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)
Example #6
0
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)
Example #7
0
    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')
Example #8
0
    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()
Example #9
0
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)
Example #10
0
    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
Example #11
0
    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()
Example #12
0
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)
Example #13
0
    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()
Example #14
0
 def close(self):
     if self.db:
         self.db.close()
         self.db = None
     QSqlDatabase.removeDatabase('cache')
Example #15
0
 def cleanup(self):
     """Close the database."""
     self.db.close()
     QSqlDatabase.removeDatabase(self.filename)
Example #16
0
def close():
    """Close the SQL connection."""
    QSqlDatabase.removeDatabase(QSqlDatabase.database().connectionName())
Example #17
0
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_())

Example #18
0
 def close(self) -> None:
     """Close the SQL connection."""
     database = self.qt_database()
     database.close()
     sip.delete(database)
     QSqlDatabase.removeDatabase(self._path)
Example #19
0
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())
Example #21
0
 def __del__(self):
     if self.QSqlDB:
         self.QSqlDB.close()
         del(self.QSqlDB)
         QSqlDatabase.removeDatabase(self.ConNameByGIUD)