From 0d7d6cfee4a3559b597b986ca57737a10c0cf485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerhard=20H=C3=A4ring?= Date: Sat, 29 Mar 2008 01:32:44 +0000 Subject: Same documentation for sqlite3 module as in 2.6. --- Doc/includes/sqlite3/ctx_manager.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Doc/includes/sqlite3/ctx_manager.py (limited to 'Doc/includes/sqlite3') diff --git a/Doc/includes/sqlite3/ctx_manager.py b/Doc/includes/sqlite3/ctx_manager.py new file mode 100644 index 0000000000..b8e43325a9 --- /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") -- cgit v1.2.1