Is there a way to creat a func that returns a cursor that can be used?

Peter Otten __peter__ at
Mon Nov 12 11:57:52 CET 2012

Khalid Al-Ghamdi wrote:

> Is there a way to create a func that returns a cursor that can be used to
> execute sql statements?

You should read an introductory text on Python, this is not specific to 
> I tried this (after importing sqlite3), but it gave me the error below:
>>>> def connect():
>     conn = sqlite3.connect(':memory:')#use sch3.db or sch4.db  .... etc.
>     cur = conn.cursor()
>     cur.execute("create table schedule (teams integer, sn integer, badge
>     integer ,name text, grp integer,\
>     major text, track text, stage text,  tc text, subject text, course
>     text, ws text, date text, \ time text, proctor text, code text, no
>     integer,fl_time text, flag2 text, flag3 text, flag4 text, clash1
>     integer, clash2 integer)") return cur
>>>> connect()

connect() returns a cursor, but you discard the result. Try

     cur = connect()

> <sqlite3.Cursor object at 0x0119EA20>
>>>> cur.execute("select * from schedule")
> Traceback (most recent call last):
>   File "<pyshell#26>", line 1, in <module>
>     cur.execute("select * from schedule")
> NameError: name 'cur' is not defined

More information about the Python-list mailing list