
ahumboldt at humboldt
Feb 14, 2008, 3:32 AM
Post #3 of 3
(724 views)
Permalink
|
|
Re: Problem with <dtml-sqltest ... multiple> feature
[In reply to]
|
|
Hello Ken, I have been a long time looking for the way to type in an array a values in the Test tab forms of the ZMI, but I think that it isn't possible. In the documentation I read that it is recommended to specify the type of the arguments in the ZSQL method as in the following example: --- Parameter list: organization_id:list:integer url_name:list:string name:list:string > select > organization_id, name, url_name, short_name > from > organization > <dtml-sqlgroup where> > <dtml-and> <dtml-sqltest organization_id op="eq" type="int" > multiple > optional> > <dtml-and> <dtml-sqltest url_name op="eq" type="nb" multiple > optional> > <dtml-and> <dtml-sqltest name op="eq" type="nb" multiple optional> > </dtml-sqlgroup> --- However, I have tested that specifying the type of the arguments makes no difference! On the other hand, the SQL Method works fine when is called from a Script Python or a ZTP as in the following example: --- context.zsql_method({'organization_id':[1,2,3], url_name:['a','b'], name:['z']}).dictionaries() --- I don't know if I have helped you. Good luck! El 14/02/2008, a las 2:00, Ken Winter escribió: > This ZSQL method: > > select > organization_id, name, url_name, short_name > from > organization > <dtml-sqlgroup where> > <dtml-and> <dtml-sqltest organization_id op="eq" type="int" > multiple > optional> > <dtml-and> <dtml-sqltest url_name op="eq" type="nb" multiple > optional> > <dtml-and> <dtml-sqltest name op="eq" type="nb" multiple optional> > </dtml-sqlgroup> > > doesn't work properly when I give it "a sequence of values to test the > condition against", which is what the "multiple" tag is supposed to > allow > according to http://www.plope.com/Books/2_7Edition/AppendixA.stx#1-15 . > When I enter (for example) the string "HI, RF" (without the surrounding > quotes) into the url_name field on the ZSQL method's ZMI Test tab, it > returns no records and says that the SQL it generated was: > > select > organization_id, name, url_name, short_name > from > organization > where > url_name = 'HI, RF' > > If I enter a series of integers such as "11530, 11531" (again, minus > the "s) > into the organization_id field, it returns the error message: > > Invalid integer value for organization_id > > Entering a single value into any of these fields works fine. I have > tried > various ways of quoting, delimiting, and otherwise punctuating my > multiple-value arguments, to no avail. > > Is this problem just because the "multiple" feature doesn't work when > tested > in the ZMI? If so, can you tell me the correct way to type and format > the > multiple-valued arguments when calling the ZSQL method from Python or > from a > Page Template? > > ~ Ken _______________________________________________ Zope-DB mailing list Zope-DB[at]zope.org http://mail.zope.org/mailman/listinfo/zope-db
|