[Zope] - Insert data into db with zope

FR Chalaoux chalaouxf@synbio.tpgnet.net
Fri, 15 Jan 1999 10:05:01 +0100


Hi All,

PART1
---------
Good, query a gadfly database (select for example) with the 
general above way works fine, thanks!

The general way to do things is to 
make a Document the target of the
form action.  Then have that Document 
interact with the SQLMethod and
return some HTML.

PART2
---------
Then,  I tried to insert data in my table in the same way. But it seems something 
miss to me, have you a track?

Bye, FR.

=================================================
document_id = Insert_from_form
=================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>

<HEAD>
	
<TITLE>New Card</TITLE>
</HEAD>

<BODY>

<FORM ACTION="insert_total_do" METHOD="POST">
<P>Titre <INPUT TYPE="TEXT" NAME="titre_field" 
SIZE="25"></P>
<P>Type <INPUT TYPE="TEXT" NAME="type_field" 
SIZE="25"></P>

<P><INPUT TYPE="SUBMIT" NAME="Submit" 
VALUE="Submit"><INPUT TYPE="RESET" NAME="Reset" 
VALUE="Reset">
</FORM>

</BODY>

</HTML>
=================================================

=================================================
Doc_Query_id = insert_total_do
=================================================
<!--#var standard_html_header-->
<!--#call "DB.insert_total(REQUEST)"-->
OK
<!--#var standard_html_footer-->

=================================================
SQLmethod_id = insert_total
=================================================
insert into seminar (titre,type) values ('<!--#var titre_field-->','<!--#var 
type_field-->'
=================================================

=================================================
ERRRRRRRRRRRROR
=================================================
Z SQL Method at /Seminar / DB / insert_total 

Error, exceptions.KeyError: titre_field 

SQL used:

Could not render the query template!
=================================================



François-Régis Chalaoux
Bioinformatics Group
Synthélabo Biomoléculaire
67080 Strasbourg Cedex
FRANCE
Tél : 03 88 60 87 14
Fax : 03 88 45 90 70