Hello, I trying to write a general purpose WEB-Form. To accomplish this I use a TinyTable to hold the description of the form, i.e. which fields in which order and so on should be displayed. The idea is to have such a TinyTable for each table in a folder and one DTML-Document in the root folder, which handles all the form-operations. This works for displaying the form. Now I want (have) to take this one step further and want to make a general ZSQLMethod to do forexample an INSERT so I created a ZSQLmethod named insert with the following SQL-Template: insert into <!--#var table sql_quote upper --> ( <!--#in EinAusgabe --> <!--#unless sequence-start -->,<!--#/unless --> <!--#var name --> <!--#/in -->) values <!--#in EinAusgabe --> <!--#unless sequence-start -->,<!--#/unless --> <!--#var expr="_[name]" fmt=sql-quote-->" <!--#/in -->) there is only the argument table defined. EinAusgabe is my TinyTable like this: columns: name label ftype length:int default auto data: "event_id", "Event-Nr", "int", 10,"", "max" "art", "Event-Art", "string", 20, "kino", NULL "veran_id", "Veranstalter-ID", "string", 8, NULL, NULL "veran_ort", "Ort", "string", 40, NULL, NULL when I now "call" insert in my DTML document like <!--#with REQUEST --> <!--#in insert --> inserting <!--#var sequence-item --> <!--#/in --> <!--#/with --> I get the following traceback: (snippet) <!-- Error type: Error value: event_id --> File /u/src/Zope-1.10.3/lib/python/DocumentTemplate/DT_Util.py, line 266, in eval (Object: _[name]) File <string>, line 0, in ? File /u/src/Zope-1.10.3/lib/python/DocumentTemplate/DT_Util.py, line 150, in careful_getitem KeyError: (see above) If I put "event_id" on the argumentlist then I get <!-- Error type: Error value: argument 1: expected read-only character buffer, int found --> So it seams that the arguments have to be listed. How can I do that in the same way as in the SQL-template. Or is there another way to do it ? Any tips are welcome. Gruß Joachim Schmitz WWW-Consultant email: js@ac-copy.net tel: +49-241-89491-0 fax: +49-241-89491-29
participants (1)
-
Joachim Schmitz