While it's probably not obvious -- you should pass the parameters in by keyword rather than positionally. e.g. container.send_to_database(CName=CName, email=email, phone=phone) Additionally, I'd use <dtml-sqlvar CName type="string"> instead of "<dtml-var CName>" to get proper quoting. And as a last bit, SQL wants strings quoted with single quotes, not double quotes. Sage Mo wrote:
This is probably a very basic question, but it's been stopping me for hours (very frustrating).
I have a Python script that's trying to pass variables into a Z SQL method. In the Python script I wrote:
container.send_to_database(CName, email, phone)
where send_to_database is the Z SQL Method.
send_to_database looks like this:
Z SQL Method at /send_to_database Help!
Title Connection Id MySQL_database_connection Arguments CName email phone
insert into name_table (CName, email, phone) values ("<dtml-var CName>", "<dtml-var email>", "<dtml-var phone>");
Yet when I run the Python script, I get
Zope Error Zope has encountered an error while publishing this resource.
Error Type: KeyError Error Value: CName
Am I passing the variables in the wrong way from the Python Script? Is there something wrong with the Z SQL method? In the Python script the variables CName, email, phone are well defined. Someone, anyone HELP! so I can actually do something besides look hopelessly at this error message for days on end.