hi: i really crazy about this question, i simplify the question i rewrite the code and simplify it <dtml-call "REQUEST.set('pageurl', URL0)"> <dtml-in "test_for_page_count(pageurl=pageurl)"> <dtml-in "getPageViews(pageurl=pageurl)"> <center> This page has been viewed <b><dtml-var pagecount></b> time. </center> </dtml-in> </dtml-in> it disply nothing, when i hard code pageurl variable and rewrite it like this <dtml-call "REQUEST.set('pageurl', URL0)"> <dtml-in "test_for_page_count(pageurl='/')"> <dtml-in "getPageViews(pageurl='/' )"> <center> This page has been viewed <b><dtml-var pagecount></b> time. </center> </dtml-in> </dtml-in> well, this time it works, so it means that <dtml-in "test_for_page_count(pageurl=pageurl)"> could not forward parameter to ZSQL method. even I rewrite code like this, <dtml-in "test_for_page_count(_.None,_,pageurl=pageurl)"> still does not work. i was wondering that if zope's builtin database gadfly is fit for this small code.