SHOW:
|
|
- or go back to the newest paste.
| 1 | import sys | |
| 2 | from PySide import QtSql | |
| 3 | ||
| 4 | def main(): | |
| 5 | db = QtSql.QSqlDatabase.addDatabase("QMYSQL")
| |
| 6 | db.setHostName("localhost")
| |
| 7 | db.setDatabaseName("codeforce")
| |
| 8 | db.setUserName("root")
| |
| 9 | db.setPassword("")
| |
| 10 | ok = db.open() | |
| 11 | if not ok: | |
| 12 | print "Invalid database!" | |
| 13 | return | |
| 14 | #create_table(db) | |
| 15 | insert(db) | |
| 16 | #select() | |
| 17 | #update(db) | |
| 18 | #delete(db) | |
| 19 | db.close() | |
| 20 | ||
| 21 | def select(): | |
| 22 | query = QtSql.QSqlQuery("SELECT * FROM developers")
| |
| 23 | lname_nr = query.record().indexOf("last_name")
| |
| 24 | while query.next(): | |
| 25 | id = query.value(0) | |
| 26 | fname = query.value(1) | |
| 27 | lname = query.value(lname_nr) | |
| 28 | print "id = %d, fname = %s, lname = %s" % \ | |
| 29 | (id, fname, lname) | |
| 30 | ||
| 31 | def call_store_procedure(): | |
| 32 | query = QtSql.QSqlQuery() | |
| 33 | query.prepare("CALL AsciiToInt(?, ?)")
| |
| 34 | query.bindValue(0, "A") | |
| 35 | query.bindValue(1, 0, QtSql.QSql.Out) | |
| 36 | query.exec_() | |
| 37 | i = query.boundValue(1) # i is 65 | |
| 38 | print i | |
| 39 | ||
| 40 | def update(db): | |
| 41 | query = QtSql.QSqlQuery() | |
| 42 | sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 \ | |
| 43 | WHERE SEX = '%c'" % ('M')
| |
| 44 | try: | |
| 45 | query.exec_(sql) | |
| 46 | db.commit() | |
| 47 | except: | |
| 48 | # Rollback in case there is any error | |
| 49 | db.rollback() | |
| 50 | ||
| 51 | def delete(db): | |
| 52 | query = QtSql.QSqlQuery() | |
| 53 | sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) | |
| 54 | try: | |
| 55 | query.exec_(sql) | |
| 56 | db.commit() | |
| 57 | except: | |
| 58 | # Rollback in case there is any error | |
| 59 | db.rollback() | |
| 60 | ||
| 61 | def create_table(db): | |
| 62 | query = QtSql.QSqlQuery() | |
| 63 | query.exec_("DROP TABLE IF EXISTS EMPLOYEE")
| |
| 64 | sql = """CREATE TABLE EMPLOYEE ( | |
| 65 | FIRST_NAME CHAR(20) NOT NULL, | |
| 66 | LAST_NAME CHAR(20), | |
| 67 | AGE INT, | |
| 68 | SEX CHAR(1), | |
| 69 | INCOME FLOAT )""" | |
| 70 | query.exec_(sql) | |
| 71 | ||
| 72 | ||
| 73 | def insert(db): | |
| 74 | query = QtSql.QSqlQuery() | |
| 75 | sql = """INSERT INTO EMPLOYEE(FIRST_NAME, | |
| 76 | LAST_NAME, AGE, SEX, INCOME) | |
| 77 | VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
| |
| 78 | try: | |
| 79 | query.exec_(sql) | |
| 80 | db.commit() | |
| 81 | except: | |
| 82 | # Rollback in case there is any error | |
| 83 | - | db.rollback() |
| 83 | + | db.rollback() |
| 84 | last_id = query.lastInsertId() | |
| 85 | print last_id | |
| 86 | ||
| 87 | if __name__ == '__main__': | |
| 88 | main() |