[Zope3-Users] Database access problem from form support Class
Cliff Ford
Cliff.Ford at ed.ac.uk
Wed Mar 8 10:24:15 EST 2006
Zope-3.2.0: I have a MySQL database Utility installed that works fine
via its Test tab, via an SQL Script, and with that script called from a
page template. I want to to use a simple query from a class that
supports a form in a context that has nothing to do with the database.
The code I have tried looks like this:
from zope.app.rdb import queryForResults
from zope.app.rdb.interfaces import IZopeDatabaseAdapter
class EditRoles:
"""This class reads a form data and updates Permissions """
def getPrincipals(self):
try:
connection = zapi.getUtility(IZopeDatabaseAdapter, 'mysql')
except KeyError:
raise AttributeError("The database connection '%s' cannot be "
"found." % ('mysql'))
query = "select * from z3users"
result = queryForResults(connection, query)
And when I try to invoke the form I get this error
File "/usr/local/Zope320i/lib/python/cefsite/browser/editroles.py",
line 47, in getPrincipals
result = queryForResults(connection, query)
File
"/home/ceford/temp/Zope-3.2.0/build/lib.linux-i686-2.4/zope/app/rdb/__init__.py",
line 401, in queryForResults
cursor = conn.cursor()
AttributeError: 'MySQLdbAdapter' object has no attribute 'cursor'
Can anyone suggest what I might be missing or suggest another way of
accessing the database?
Cliff
More information about the Zope3-users
mailing list