View difference between Paste ID: dqeQFp7p and 27Yxuywv
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()