diff options
author | Gerhard Häring <gh@ghaering.de> | 2008-03-29 01:32:44 (GMT) |
---|---|---|
committer | Gerhard Häring <gh@ghaering.de> | 2008-03-29 01:32:44 (GMT) |
commit | 0d7d6cfee4a3559b597b986ca57737a10c0cf485 (patch) | |
tree | a714fadc2855ae78de730efdc25bbe8b105dbbf9 /Doc/includes/sqlite3/ctx_manager.py | |
parent | e7ea7451a84636655927da4b9731d2eb37d1cf34 (diff) | |
download | cpython-0d7d6cfee4a3559b597b986ca57737a10c0cf485.zip cpython-0d7d6cfee4a3559b597b986ca57737a10c0cf485.tar.gz cpython-0d7d6cfee4a3559b597b986ca57737a10c0cf485.tar.bz2 |
Same documentation for sqlite3 module as in 2.6.
Diffstat (limited to 'Doc/includes/sqlite3/ctx_manager.py')
-rw-r--r-- | Doc/includes/sqlite3/ctx_manager.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Doc/includes/sqlite3/ctx_manager.py b/Doc/includes/sqlite3/ctx_manager.py new file mode 100644 index 0000000..b8e4332 --- /dev/null +++ b/Doc/includes/sqlite3/ctx_manager.py @@ -0,0 +1,16 @@ +import sqlite3 + +con = sqlite3.connect(":memory:") +con.execute("create table person (id integer primary key, firstname varchar unique)") + +# Successful, con.commit() is called automatically afterwards +with con: + con.execute("insert into person(firstname) values (?)", ("Joe",)) + +# con.rollback() is called after the with block finishes with an exception, the +# exception is still raised and must be catched +try: + with con: + con.execute("insert into person(firstname) values (?)", ("Joe",)) +except sqlite3.IntegrityError: + print("couldn't add Joe twice") |