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 <[email protected]> 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 > > [email protected] > > https://mail.zope.org/mailman/listinfo/zope-db > >
_______________________________________________ Zope-DB mailing list [email protected] https://mail.zope.org/mailman/listinfo/zope-db
