die if $styles{Query} =~ m/[^a-z]/;
-dbw_connect($styles{Ocean});
+my $mydbh;
+my $dbh= ($mydbh= dbw_connect($styles{Ocean}));
+
+my $results_head_done=0;
+my $someresults= sub {
+ return if $results_head_done;
+ $results_head_done=1;
+ print "\n<h1>Results</h1>\n";
+};
</%perl>
<%args>
<hr>
-<& "query_$styles{Query}", %baseqf, %queryqf, %styles, quri => $quri &>
+<& "query_$styles{Query}", %baseqf, %queryqf, %styles,
+ quri => $quri, dbh => $dbh,
+ someresults => $someresults,
+ emsgokorprint => sub {
+ my ($emsg) = @_;
+ return 1 unless defined $emsg and length $emsg;
+ $someresults->();
+ print $emsg;
+ return 0;
+ }
+ &>
<p>
use URI::Escape;
</%init>
+<%cleanup>
+
+$mydbh->rollback() if $mydbh;
+
+</%cleanup>