Hi everyone, Was wondering if you could advise on best practices when it comes to reusing a database cursor.
I'm working on a program that must hit a database several times. Basically, I pull some data, process it, and then use a portion of that data as parameters for the next call. And then I rinse and repeat. So my question: Is it better to start off my program (or main function) with a global import of the database module and a global cursor object, and then pass that cursor to each method that requires it? >>> import cx_Oracle >>> db = cx_Oracle.connect() >>> cur = db.cursor() >>> x = MyObject() >>> x.getData(cur) >>> x.processData() >>> x.getMoreData(cur) Or is it better to import, connect and create the cursor inside each method where it's needed? On the one hand, I know you're supposed to avoid polluting the global namespace, but on the other, it seems like I'd be generating a lot of duplicate code by adding import/connect/cursor to each method. Or should I use some middle road like creating a global function that returns a cursor object, and then call that inside each method that needs it? Advice, as always, is greatly appreciated. Regards, Serdar _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor