symbian-qemu-0.9.1-12/python-2.6.1/Doc/includes/sqlite3/ctx_manager.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 import sqlite3
       
     2 
       
     3 con = sqlite3.connect(":memory:")
       
     4 con.execute("create table person (id integer primary key, firstname varchar unique)")
       
     5 
       
     6 # Successful, con.commit() is called automatically afterwards
       
     7 with con:
       
     8     con.execute("insert into person(firstname) values (?)", ("Joe",))
       
     9 
       
    10 # con.rollback() is called after the with block finishes with an exception, the
       
    11 # exception is still raised and must be catched
       
    12 try:
       
    13     with con:
       
    14         con.execute("insert into person(firstname) values (?)", ("Joe",))
       
    15 except sqlite3.IntegrityError:
       
    16     print "couldn't add Joe twice"