[Zope-DB] Help needed with multi-table insert form

Norman Khine norman@khine.net
Wed, 22 Jan 2003 16:34:01 -0000


This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C2C234.11FE6D90
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello,
I have a PostgreSQL database which has a number of tables, I have =
created a ZSQL Method called sql_INSERT_form which is as follows:

with Arguments:
business_name business_url business_type_id street_name town city =
postcode county_id title initials fname surname telephone fax email =
regdate status job_function_id

INSERT INTO business_name (business_name, business_url, =
business_type_id)
  values (<dtml-sqlvar business_name type=3D"string" >, <dtml-sqlvar =
business_url type=3D"string">, <dtml-sqlvar business_type_id =
type=3D"int">);

<dtml-var sql_delimiter>

INSERT INTO business_address (street_name, town, city, postcode, =
county_id, business_name_id) values=20
(<dtml-sqlvar street_name type=3D"string">,
<dtml-sqlvar town type=3D"string">,
<dtml-sqlvar city type=3D"string">,=20
<dtml-sqlvar postcode type=3D"string">,
<dtml-sqlvar county_id type=3D"int">,
business_name_business_name_seq.last_value);

<dtml-var sql_delimiter>

INSERT INTO reseller (title, initials, fname, surname, telephone, fax, =
email, regdate, status, job_function_id, business_name_id)
values
(<dtml-sqlvar title type=3D"string">,
<dtml-sqlvar initials type=3D"string">,
<dtml-sqlvar fname type=3D"string">,
<dtml-sqlvar surname type=3D"string">,
<dtml-sqlvar telephone type=3D"string">,
<dtml-sqlvar fax type=3D"string">,
<dtml-sqlvar email type=3D"string">,
<dtml-sqlvar regdate type=3D"string">,
<dtml-sqlvar status type=3D"string">,
<dtml-sqlvar job_function_id type=3D"int">,
business_name_business_name_seq.last_value
);

When I test this, the database is populated as required.

BUT, when I try to add a form which is as follows:
<table border=3D0 cellpadding=3D3 cellspacing=3D4>
<form method=3D"post" name=3D"register" action=3D"resellerAdd.dtml">
<input type=3Dhidden name=3D"regdate" value=3D"<dtml-var DateTime>">
<input type=3Dhidden name=3D"status" type" value=3D"1">
<input type=3Dhidden name=3D"job_function_id" type" value=3D"1">
<tr>=20
<td colspan=3D4 bgcolor=3D"#99CCCC"> <font size=3D-1 face=3DArial> =
<b>Personal Profile</b> </font> </td>
</tr>
<tr>=20
 <td> <font size=3D-1 face=3DArial> Title </font> </td>
   <td> <select name=3D"title">
         <option value=3D"">[Select One]</option>
         <option>Mr.</option>
         <option>Mrs.</option>
         <option>Miss</option>
         <option>Dr.</option>
        </select> </td>
 <td> <font size=3D-1 face=3DArial> First Name </font> </td>
      <td> <input type=3D"text" name=3D"fname" size=3D10 maxlength=3D35> =

 </td>
</tr>
<tr>=20
 <td> <font size=3D-1 face=3DArial> Initials </font> </td>
      <td> <input type=3D"text" name=3D"initials" size=3D1 =
maxlength=3D1> </td>
      <td> <font size=3D-1 face=3DArial> Last Name </font> </td>
      <td> <input type=3D"text" name=3D"surname" size=3D10 =
maxlength=3D35> </td>
</tr>
<tr>=20
 <td colspan=3D4 bgcolor=3D"#99CCCC"> <font size=3D-1 face=3DArial> =
<b>Business Profile</b> </font> </td>
</tr>
<tr>=20
 <td> <font size=3D-1 face=3DArial> Business Name </font> </td>
 <td> <input type=3D"text" name=3D"business_name" size=3D15 =
maxlength=3D40>=20
</td>
 <td> <font size=3D-1 face=3DArial> Job Title </font> </td>
 <td> <input type=3D"text" name=3D"job_title" size=3D10 maxlength=3D40> =
</td>
</tr>
<tr>=20
 <td> <font size=3D-1 face=3DArial> Street Address </font> </td>
 <td> <input type=3D"text" name=3D"street_name" size=3D15 =
maxlength=3D25> </td>
 <td> <font size=3D-1 face=3DArial> Town </font> </td>
 <td> <input type=3D"text" name=3D"town" size=3D10 maxlength=3D25> </td>
</tr>
<tr>=20
 <td> <font size=3D-1 face=3DArial> City </font> </td>
 <td> <input type=3D"text" name=3D"city" size=3D10 maxlength=3D25> </td>
 <td> <font size=3D-1 face=3DArial>Postal Code</font> </td>
 <td> <input type=3D"text" name=3D"postcode" size=3D8 maxlength=3D"10">=20
</td>
</tr>
<tr>
  <td> <font size=3D-1 face=3DArial> This is my </font> </td>
    <td colspan=3D3> <select name=3D"homeorbusiness">
                   <option value=3D"1" selected>business address=20
                   <option value=3D"0">home address </select>
   </td>
</tr>
<tr>=20
 <td > <font size=3D-1 face=3DArial>Telephone</font> </td>
 <td> <input type=3D"text" name=3D"telephone" size=3D10 =
maxlength=3D"20"> </td>
 <td > <font size=3D-1 face=3DArial>Fax</font> </td>
 <td> <input type=3D"text" name=3D"fax" size=3D10 maxlength=3D"20"> =
</td>
</tr>
<tr>=20
 <td > <font size=3D-1 face=3DArial>Email Address</font> </td>
 <td> <input type=3D"text" name=3D"email" size=3D10 maxlength=3D"45"> =
</td>
 <td > <font size=3D-1 face=3DArial>Web site</font> </td>
 <td><input type=3D"text" name=3D"business_url" value=3D"http://" =
size=3D15 maxlength=3D"35">=20
</td>
</tr>
<tr>=20
 <td colspan=3D4 align=3Dcenter> <input type=3D"submit" name=3D"submit" =
value=3D"Submit Information">=20
&nbsp;&nbsp;&nbsp; <input type=3D"reset" name=3D"reset" value=3D"Reset =
Form">=20
 </td>
</tr>
</table>

and resellerAdd.dtml DTML Method, which contains the following:

<dtml-call sql_INSERT_form>
<h2>Customer <dtml-var name=3D"business_name"> was added.</h2>

everytime i add submit, the server returns nothing .....


Any help will be much appreciated

Thanks


------=_NextPart_000_0007_01C2C234.11FE6D90
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I have a PostgreSQL database which has =
a number of=20
tables, I have created a ZSQL Method called sql_INSERT_form which is as=20
follows:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>with Arguments:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>business_name business_url =
business_type_id=20
street_name town city postcode county_id title initials fname surname =
telephone=20
fax email regdate status job_function_id</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>INSERT INTO business_name =
(business_name,=20
business_url, business_type_id)<BR>&nbsp; values (&lt;dtml-sqlvar =
business_name=20
type=3D"string" &gt;, &lt;dtml-sqlvar business_url type=3D"string"&gt;,=20
&lt;dtml-sqlvar business_type_id type=3D"int"&gt;);</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&lt;dtml-var =
sql_delimiter&gt;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>INSERT INTO business_address =
(street_name, town,=20
city, postcode, county_id, business_name_id) values <BR>(&lt;dtml-sqlvar =

street_name type=3D"string"&gt;,<BR>&lt;dtml-sqlvar town=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar city type=3D"string"&gt;,=20
<BR>&lt;dtml-sqlvar postcode type=3D"string"&gt;,<BR>&lt;dtml-sqlvar =
county_id=20
type=3D"int"&gt;,<BR>business_name_business_name_seq.last_value);</FONT><=
/DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&lt;dtml-var =
sql_delimiter&gt;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>INSERT INTO reseller (title, initials, =
fname,=20
surname, telephone, fax, email, regdate, status, job_function_id,=20
business_name_id)<BR>values<BR>(&lt;dtml-sqlvar title=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar initials=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar fname=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar surname=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar telephone=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar fax =
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar=20
email type=3D"string"&gt;,<BR>&lt;dtml-sqlvar regdate=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar status=20
type=3D"string"&gt;,<BR>&lt;dtml-sqlvar job_function_id=20
type=3D"int"&gt;,<BR>business_name_business_name_seq.last_value<BR>);</FO=
NT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>When I test this, the database is =
populated as=20
required.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>BUT, when I try to add a form which is =
as=20
follows:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&lt;table border=3D0 cellpadding=3D3=20
cellspacing=3D4&gt;<BR>&lt;form method=3D"post" name=3D"register"=20
action=3D"resellerAdd.dtml"&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&lt;input type=3Dhidden =
name=3D"regdate"=20
value=3D"&lt;dtml-var DateTime&gt;"&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&lt;input type=3Dhidden name=3D"status" =
type"=20
value=3D"1"&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&lt;input type=3Dhidden =
name=3D"job_function_id" type"=20
value=3D"1"&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&lt;tr&gt; <BR>&lt;td colspan=3D4=20
bgcolor=3D"#99CCCC"&gt; &lt;font size=3D-1 face=3DArial&gt; =
&lt;b&gt;Personal=20
Profile&lt;/b&gt; &lt;/font&gt; &lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; =

<BR>&nbsp;&lt;td&gt; &lt;font size=3D-1 face=3DArial&gt; Title =
&lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&nbsp; &lt;td&gt; &lt;select=20
name=3D"title"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;option=20
value=3D""&gt;[Select=20
One]&lt;/option&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
&lt;option&gt;Mr.&lt;/option&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
&lt;option&gt;Mrs.&lt;/option&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;=20
&lt;option&gt;Miss&lt;/option&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;=20
&lt;option&gt;Dr.&lt;/option&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
&lt;/select&gt; &lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;font size=3D-1 =
face=3DArial&gt;=20
First Name &lt;/font&gt; &lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
&lt;td&gt; &lt;input type=3D"text" name=3D"fname" size=3D10 =
maxlength=3D35&gt;=20
<BR>&nbsp;&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; <BR>&nbsp;&lt;td&gt; =
&lt;font=20
size=3D-1 face=3DArial&gt; Initials &lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt; &lt;input =
type=3D"text"=20
name=3D"initials" size=3D1 maxlength=3D1&gt;=20
&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt; &lt;font =
size=3D-1=20
face=3DArial&gt; Last Name &lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt; &lt;input =
type=3D"text"=20
name=3D"surname" size=3D10 maxlength=3D35&gt; =
&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt;=20
<BR>&nbsp;&lt;td colspan=3D4 bgcolor=3D"#99CCCC"&gt; &lt;font size=3D-1 =
face=3DArial&gt;=20
&lt;b&gt;Business Profile&lt;/b&gt; &lt;/font&gt;=20
&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; <BR>&nbsp;&lt;td&gt; &lt;font =
size=3D-1=20
face=3DArial&gt; Business Name &lt;/font&gt; =
&lt;/td&gt;<BR>&nbsp;&lt;td&gt;=20
&lt;input type=3D"text" name=3D"business_name" size=3D15 =
maxlength=3D40&gt;=20
<BR>&lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;font size=3D-1 face=3DArial&gt; =
Job Title=20
&lt;/font&gt; &lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;input type=3D"text"=20
name=3D"job_title" size=3D10 maxlength=3D40&gt;=20
&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; <BR>&nbsp;&lt;td&gt; &lt;font =
size=3D-1=20
face=3DArial&gt; Street Address &lt;/font&gt; =
&lt;/td&gt;<BR>&nbsp;&lt;td&gt;=20
&lt;input type=3D"text" name=3D"street_name" size=3D15 =
maxlength=3D25&gt;=20
&lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;font size=3D-1 face=3DArial&gt; Town =

&lt;/font&gt; &lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;input type=3D"text" =
name=3D"town"=20
size=3D10 maxlength=3D25&gt; &lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt;=20
<BR>&nbsp;&lt;td&gt; &lt;font size=3D-1 face=3DArial&gt; City =
&lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;input type=3D"text" name=3D"city" =
size=3D10=20
maxlength=3D25&gt; &lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;font size=3D-1=20
face=3DArial&gt;Postal Code&lt;/font&gt; &lt;/td&gt;<BR>&nbsp;&lt;td&gt; =
&lt;input=20
type=3D"text" name=3D"postcode" size=3D8 maxlength=3D"10"&gt;=20
<BR>&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt;<BR>&nbsp; &lt;td&gt; =
&lt;font=20
size=3D-1 face=3DArial&gt; This is my &lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;td colspan=3D3&gt; &lt;select=20
name=3D"homeorbusiness"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
&lt;option value=3D"1" selected&gt;business address=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
&lt;option value=3D"0"&gt;home address &lt;/select&gt;<BR>&nbsp;&nbsp;=20
&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; <BR>&nbsp;&lt;td &gt; &lt;font =
size=3D-1=20
face=3DArial&gt;Telephone&lt;/font&gt; &lt;/td&gt;<BR>&nbsp;&lt;td&gt; =
&lt;input=20
type=3D"text" name=3D"telephone" size=3D10 maxlength=3D"20"&gt;=20
&lt;/td&gt;<BR>&nbsp;&lt;td &gt; &lt;font size=3D-1 =
face=3DArial&gt;Fax&lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;input type=3D"text" name=3D"fax" =
size=3D10=20
maxlength=3D"20"&gt; &lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; =
<BR>&nbsp;&lt;td=20
&gt; &lt;font size=3D-1 face=3DArial&gt;Email Address&lt;/font&gt;=20
&lt;/td&gt;<BR>&nbsp;&lt;td&gt; &lt;input type=3D"text" name=3D"email" =
size=3D10=20
maxlength=3D"45"&gt; &lt;/td&gt;<BR>&nbsp;&lt;td &gt; &lt;font size=3D-1 =

face=3DArial&gt;Web site&lt;/font&gt; =
&lt;/td&gt;<BR>&nbsp;&lt;td&gt;&lt;input=20
type=3D"text" name=3D"business_url" value=3D"http://" size=3D15 =
maxlength=3D"35"&gt;=20
<BR>&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt; <BR>&nbsp;&lt;td =
colspan=3D4=20
align=3Dcenter&gt; &lt;input type=3D"submit" name=3D"submit" =
value=3D"Submit=20
Information"&gt; <BR>&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;input =
type=3D"reset"=20
name=3D"reset" value=3D"Reset Form"&gt;=20
<BR>&nbsp;&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;/table&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>and <FONT face=3D"Times New Roman"=20
size=3D3>resellerAdd.dtml DTML Method, which contains the=20
following:</FONT></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&lt;dtml-call=20
sql_INSERT_form&gt;<BR>&lt;h2&gt;Customer &lt;dtml-var =
name=3D"business_name"&gt;=20
was added.&lt;/h2&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>everytime i add submit, the server =
returns nothing=20
.....</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Any help will be much =
appreciated</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_0007_01C2C234.11FE6D90--