ApachePg.pl
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #!/usr/local/bin/perl
  2. # $Id: ApachePg.pl,v 1.5 1998/09/27 19:12:33 mergl Exp $
  3. # demo script, tested with:
  4. #  - PostgreSQL-6.4
  5. #  - apache_1.3.1
  6. #  - mod_perl-1.15
  7. #  - perl5.005_02
  8. use CGI;
  9. use Pg;
  10. use strict;
  11. my $query = new CGI;
  12. print  $query->header,
  13.        $query->start_html(-title=>'A Simple Example'),
  14.        $query->startform,
  15.        "<CENTER><H3>Testing Module Pg</H3></CENTER>",
  16.        "<P><CENTER><TABLE CELLPADDING=4 CELLSPACING=2 BORDER=1>",
  17.        "<TR><TD>Enter conninfo string: </TD>",
  18.            "<TD>", $query->textfield(-name=>'conninfo', -size=>40, -default=>'dbname=template1'), "</TD>",
  19.        "</TR>",
  20.        "<TR><TD>Enter select command: </TD>",
  21.            "<TD>", $query->textfield(-name=>'cmd', -size=>40), "</TD>",
  22.        "</TR>",
  23.        "</TABLE></CENTER><P>",
  24.        "<CENTER>", $query->submit(-value=>'Submit'), "</CENTER>",
  25.        $query->endform;
  26. if ($query->param) {
  27.     my $conninfo = $query->param('conninfo');
  28.     my $conn = Pg::connectdb($conninfo);
  29.     if (PGRES_CONNECTION_OK == $conn->status) {
  30.         my $cmd = $query->param('cmd');
  31.         my $result = $conn->exec($cmd);
  32.         if (PGRES_TUPLES_OK == $result->resultStatus) {
  33.             print "<P><CENTER><TABLE CELLPADDING=4 CELLSPACING=2 BORDER=1>n";
  34.             my @row;
  35.             while (@row = $result->fetchrow) {
  36.                 print "<TR><TD>", join("</TD><TD>", @row), "</TD></TR>";
  37.             }
  38.             print "</TABLE></CENTER><P>n";
  39.         } else {
  40.             print "<CENTER><H2>", $conn->errorMessage, "</H2></CENTER>n";
  41.         }
  42.     } else {
  43.         print "<CENTER><H2>", $conn->errorMessage, "</H2></CENTER>n";
  44.     }
  45. }
  46. print $query->end_html;