#!f:/Perl/bin/perl -w use strict; use warnings; use CGI; use CGI::Carp qw(fatalsToBrowser); use DBI; my $dbh = DBI->connect('DBI:ODBC:driver=Microsoft Access-Treiber (*.mdb); dbq=Kunden.mdb') or die $DBI::errstr; my $cgi = CGI->new(); print $cgi->header(); my %params = $cgi->Vars(); ### Suche oder Eintrag ### if ($params{suchanfrage}){ suche($cgi, $dbh, %params); } elsif($params{eintrag}){ eintragen($cgi, $dbh, %params); } else{ print 'Keine Aktion ausgewählt'; } $dbh->disconnect(); ### Start Subroutine Suche ### sub suche{ my ($cgi,$dbh,%params) = @_; my $stmt = qq~SELECT Tabelle1.Kundennummer, Tabelle1.Name, Tabelle1.Telefon, Tabelle2.Rechnungsbetrag FROM Tabelle1 JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer~; my $sth = $dbh->prepare($stmt) or die $dbh->errstr(); $sth->execute() or die $dbh->errstr(); ### Treffer ### if ($sth->rows != 0){ print < Antwort

Suchergebnis:


HERE_TEXT1 while (my @data = $sth->fetchrow_array()) { print sprintf(qq~\n\n~,@data); } print qq§
Kundennummer: Adresse: Name: Telefonnummer: Rechnungsbetrag:
%s %s %s %s %s
\n

Neue Suche!

\n
\n
\n\n§; } else { print < Antwort

Leider brachte die Suche nach '$name' keine Ergebnisse!


Neue Suche!

HERE_TEXT2 } $sth->finish(); } sub eintragen{ my ($cgi,$dbh,%params) = @_; $dbh->do("INSERT INTO Kunden VALUES (?,?,?,?,?)",undef, @params{qw/kundennummer adresse name telefonnummer rechnungsbetrag/}) or die $dbh->errstr(); my ($kundennummer,$adresse,$name,$telefonnummer,$rechnungsbetrag) = @params{qw/kundennummer adresse name telefonnummer rechnungsbetrag/} print < Antwort

Datenbankeintrag:


$kundennummer, $adresse, $name, $telefonnummer, $rechnungsbetrag


Neuer Eintrag!


HERE_TEXT3 }