[Zope-DB] Question Concerning Z SQL Method and Class Bindings

Mark Phillips mark at phillipsmarketing.biz
Tue May 25 15:21:11 EDT 2010


Peter,

I don't think I phrased my question very well. Also, I am coming from a Java
background, so I am thinking about result sets, which may not be applicable
to Python.

If I have a Z SQL Method query that returns multiple rows to a brains class,
how do I

(1) reference the returned object that has all the rows
(2) reference a particular row in the returned object
(3) reference a particular piece of data in the returned object.

What is the returned object - list, dictionary, some special object with
associated APIs?

Where is this documented? I can't seem to find it in the Zope 2 book.

Thanks!

Mark

On Tue, May 25, 2010 at 12:03 PM, Peter Sabaini <peter at sabaini.at> wrote:

> On Mon, 2010-05-24 at 21:33 -0700, Mark Phillips wrote:
> > I am reading the zope 2 book (relational database section) and it
> > talks about binding classes by putting them in the Extensions
> > directory and then associating them with a Z SQL Method. That seems to
> > be rather straight forward, but where can I find some examples of
> > accessing the values returned from the Z SQL Method in Python. For
> > example,
> >
> > Z SQL Method
> > select * from offense where gameID=<some input value from a form>
> >
> > This returns ~10 rows. Each row has columns playerID, PB, BB, SacBunt,
> > HBP as well as other columns, all containing integer values.
> >
> > class GameStats
> > """Reads the database for the stats for every player in a game and
> > calculates the stats"""
> >
> >     def AtBat(self, player_id):
> >         """Calculate the AB for a player. AB = PA - (BB + SacBunt +
> > HBP - SF)"""
> >         How do I get the columns PA, BB, etc for a particular playerID
> > to calculate the BA from the result returned by the Z SQL method? Is
> > there some documentation for how to access the results of the query
> > within this class?
>
> Individual columns should be accessible as attributes of the Brain
> object, eg. self.playerID etc. If there's a column PA, it should be
> named self.PA.
>
> Btw., usually when I'm in doubt which attributes or methods are
> available for a given object, I just put a breakpoint at the location in
> question and poke at it with pdb, the Python debugger. See eg.
> http://wiki.zope.org/zope2/DebuggingWithPdb , under "breakpoint in the
> code" how to invoke the debugger. See
> http://docs.python.org/library/pdb.html for pdb docs.
>
> hth,
> peter.
>
> >
> > Thanks!
> >
> > Mark
> > _______________________________________________
> > Zope-DB mailing list
> > Zope-DB at zope.org
> > https://mail.zope.org/mailman/listinfo/zope-db
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope-db/attachments/20100525/d0eb4a25/attachment.html 


More information about the Zope-DB mailing list