[ create a new paste ] login | about

Link: http://codepad.org/nAUt68p1    [ raw code | fork ]

Python, pasted on Jan 11:
from PyQt4.QtSql import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys


def createConnection(driverType, databaseName, hostName=None, userName=None, password=None):
    db = QSqlDatabase.addDatabase(driverType);
    db.setDatabaseName(databaseName)
    db.setHostName(hostName);
    db.setUserName(userName);
    db.setPassword(password)
    if (db.open() == False):
        QMessageBox.critical(None, "Database Error", db.lastError().text())
        sys.exit(1)
    return db

if __name__ == '__main__':

    app = QApplication(sys.argv)
    con = createConnection('QSQLITE', "testdatabase.db")

    qry = QSqlQuery()
#    qry.setForwardOnly(True)

    qry.exec_("CREATE TABLE IF NOT EXISTS names (id INTEGER UNIQUE PRIMARY KEY, firstname VARCHAR(30), lastname VARCHAR(30))");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (1, 'John', 'Doe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (2, 'Jane', 'Doe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (3, 'James', 'Doe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (4, 'Judy', 'Doe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (5, 'Richard', 'Roe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (6, 'Jane', 'Roe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (7, 'John', 'Noakes')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (8, 'Donna', 'Doe')");

    qry.exec_("INSERT INTO names (id, firstname, lastname) VALUES (9, 'Ralph', 'Roe')");



    qry.exec_("CREATE TABLE IF NOT EXISTS salaries (id INTEGER UNIQUE PRIMARY KEY, annual INTEGER)");

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (1, 1000)")

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (2, 900)");

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (3, 900)");

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (5, 1100)");

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (6, 1000)");

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (8, 1200)");

    qry.exec_("INSERT INTO salaries (id, annual) VALUES (9, 1200)");



    model = QSqlRelationalTableModel()
    model.setTable("names" )
    model.setRelation(0, QSqlRelation( "salaries", "id", "annual" ) )
    model.setEditStrategy(QSqlTableModel.OnFieldChange)
    model.select()

    print(model.editStrategy())

    view = QTableView();
    view.setModel(model )
    view.show();

    sys.exit(app.exec_())


Create a new paste based on this one


Comments: