Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # coding=utf8
- """
- See: http://diotavelli.net/PyQtWiki/Removing a database
- https://qt-project.org/doc/qt-4.8/qsqldatabase.html#removeDatabase
- https://bugreports.qt-project.org/browse/QTBUG-1528
- http://lists.trolltech.com/qt-interest/2008-04/msg00627.html
- http://sqlite.org/c3ref/finalize.html
- """
- import os
- import sys
- import shutil
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- from PyQt4.QtSql import *
- import ui_mainwindow
- class MainWindow(QMainWindow, ui_mainwindow.Ui_MainWindow):
- """ Main application.
- """
- def __init__(self, parent):
- """ Initialise the MainWindow.
- """
- super(MainWindow, self).__init__(parent)
- self.setupUi(self)
- database = QSqlDatabase.addDatabase('QSQLITE', 'payroll_connection')
- database.setDatabaseName('payroll.db')
- database.setConnectOptions('SQLITE_BUSY_TIMEOUT=6')
- database.open()
- model = QSqlTableModel(self, database)
- model.setTable('tempEarnings')
- model.setEditStrategy(QSqlTableModel.OnFieldChange)
- model.select()
- self.tableView.setModel(model)
- self.tableView.show()
- @pyqtSignature('')
- def on_savePushButton_pressed(self):
- model = self.tableView.model()
- model.select()
- model.submitAll()
- model.query().finish()
- del model
- self.tableView.setModel(None)
- database = QSqlDatabase.database('payroll_connection')
- # No transactions.
- commit = database.commit()
- print 'commit:', commit
- database.close()
- print database.lastError().text()
- #driver = database.driver()
- #print driver.lastError().text()
- del database
- QSqlDatabase.removeDatabase('payroll_connection')
- #os.remove('payroll.db')
- sys.exit(1)
- #QFile.remove('payroll.db')
- #shutil.copy('payroll.db.new', 'payroll.db')
- #
- #self.database = QSqlDatabase.addDatabase('QSQLITE', 'payroll_connection')
- #self.database.setDatabaseName('payroll.db')
- #self.database.setConnectOptions('SQLITE_BUSY_TIMEOUT=6')
- #self.database.open()
- #
- #model = QSqlTableModel(self, self.database)
- #model.setTable('tempEarnings')
- #self.tableView.setModel(model)
- #model.select()
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- form = MainWindow(None)
- form.show() #Maximized()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment