* Paul Erickson ([EMAIL PROTECTED]) [010419 17:02]:
> The Doctor What wrote:
> > > * Loosing the variable between the form and dtml-if
> I don't understand this. I'm assuming that you are losing values that
> are not in your argument list. All you have to do is add the arguments.
That isn't what I mean. Try this (typed in, so it may need to be
<dtml-if expr="foo != 0">Life is good</dtml-if>
You'll NEVER get Life is good to print out. EVER. This is because
ZSQL is setting foo to 0. But dtml-var and dtml-sqlvar both work.
> > > * Inability to handle table.field names for variables
> > > * And enough flexibility to work around the above problems
> > >
> > > This makes ZSQL extreamely nasty, and impossible to use with a
> > > normalized database.
> Database normalization isn't really an issue. It sounds like you're
> really just having problems with the syntax of joins.
Nope, can do joins. Been doing joins (mainly inner). Not the
problem. The problem is that if I have tables like:
Table1ID <-- Foreign Key thrown in for fun.
And I join them, then I MUST rename all the selects using AS:
Table1.id as id1
Table1.name as name1
Because I can't have zsql put the variables in the caller's
namespace as "Table1.id". It puts them in as "id" (without the AS).
Fortunately, I found the column for sqltest (which is the other end
<dtml-sqltest id1 column="Table1.id" ....
> > >
> > > What's the point? ZSQL sucks, how do I talk to the DB directly?
> Grab the Python database adapter and write some python classes or
> external methods to do what you need.
Can I use them from a python script? If not, what's the point? I
mean: External methods are nice to have when you have *no other
choice*, but they aren't something I'd want to debug and deal with
> > This makes things work MUCH better. So there are work arounds.
> This isn't a work-around, it is the way that it is intended to be used.
I didn't see a single example of it. The Zope Book didn't mention
this at all (except as a single line reference). I would *never*
have gone looking for the word column. Why? It's a field!
> Again, I think that it's a matter of understanding how ZSQL works,
> rather than a limitation of ZSQL. If you have column name conflicts,
> you can always use something like:
> SELECT a.field as a_field, b.field as b_field FROM ...
> Then refer to them in dtml like &dtml-a_field; or <dtml-var
Right, but you still have to do extra work to get them back into a
ZSQL object. column lets you do that. It's got no examples to help
out with. It's documented once. I didn't see it. Life is better
> > I still would love some examples. Do people end up with 4 ZSQL
> > objects per thing they manipulate in their database?:
> > UPDATE, SELECT, INSERT and DELETE? Or do they mix them somehow?
> I typically wind up with a ZSQL method for each of the CRUD operations.
> Sometimes I have separate selects methods for more complex joins, if the
> DTML code gets too ugly when I try to combine them into a single method.
> Example of a fairly typical join statement (for MySQL database):
> begin_date:date end_date:date="2037-01-01"
> SELECT search_string, search_result, search_date, result_category,
> FROM search_log LEFT JOIN legal_category ON
> <dtml-sqlgroup required where>
> <dtml-sqltest name="begin_date" op="gt" type="nb"
> <dtml-sqltest name="end_date" type="nb" op="lt"
> column="search_date" optional>
Hey! An example!
> Good Luck
Thanks. So I'm still having trouble. I can't get any of the list
examples to work.
I build a select multiple list, and then try to dtml-in on it. It
doesn't seem to work. REQUEST shows in it th other and form
namespaces, as a list, but I can't actually dtml-var it or anything.
If you call this with this URL (substitute as needed):
Which is the URL pattern formed by a <SELECT name="dalist:list"
Then you get errors on dalist. The examples at
Don't work as exactl above.
Outside of a dog, a book is a man's best friend. Inside a dog it's too dark to read.
-- Groucho Marx
The Doctor What: Need I say more? http://docwhat.gerf.org/
[EMAIL PROTECTED] KF6VNC