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() |