Leser: 25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#! c:/perl/bin/perl -w
use CGI qw(:standard);
use strict;
use CGI::Carp qw/fatalsToBrowser/;
use DBI;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time);
$mon++;
$year += 1900;
my $dbh = DBI->connect('DBI:ODBC:db1') or die "Fehler beim Connect:",$DBI::errstr;
my $sqlstatement = "SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer =?";
my $sth = $dbh->prepare($sqlstatement) or die $DBI::errstr;
$sth->execute (param('Kundennummer')) or die $dbh->errstr;
print header(-type => 'text/html'), start_html(-title => 'Auswahl');
#print header(-type => 'text/html'), kundensuche(-title => 'Auswahl');
print h3('Ergebnis'), hr();
my @row = ();
my $i = 1;
print '<table>';
while (@row=$sth->fetchrow_array()){
print '<tr>';
print '<td>',$_,'</td>' for(@row);
print '</tr>';
my $rechnung = 'd:\\SGD\\Apache2\\htdocs\\rechnung'.$i.'.txt';
open(DATEI,">$rechnung") or print $!;
print DATEI "Rechnungsnummer:\t\RE4711\t\vom: $mday\.$mon\.$year\n\n\n";
print DATEI "Kundennummer: $row[0]\n\n";
print DATEI $row[3],"\n\n";
print DATEI $row[2],"\n\n";
print DATEI $row[1],"\n\n";
print DATEI "Telefonnummer: $row[4] \n\n\n\n\n";
#print DATEI $row[2]," ",$row[3],"\n" x 7;
print DATEI "-" x 34 ,"\n";
print DATEI "Rechnungsbetrag:\t","\n
print DATEI "-" x 34 ,"\n\n";
print DATEI "Mit freundlichen Grüßen\nIhre Webfirma";
close DATEI;
$i++;
}
print '</table>';
print "</body>\n</html>";
$ chmod +x /SGD/Apache2/cgi-bin/Aufgabe2.pl
#!perl
print DATEI "Rechnungsnummer:\t\RE4711\t\vom: $mday\.$mon\.$year\n\n\n";
print DATEI "Rechnungsnummer:\tRE4711\tvom: $mday\.$mon\.$year\n\n\n";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#! c:/perl/bin/perl -w use strict; use CGI qw(:standard *table); use CGI::Carp qw/fatalsToBrowser/; use DBI; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time); $mon++; $year += 1900; my $dbh = DBI->connect('DBI:ODBC:db1') or die "Fehler beim Connect: ",$DBI::errstr; my $sqlstatement = "SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer =?"; my $sth = $dbh->prepare($sqlstatement) or die $dbh->errstr; $sth->execute (param('Kundennummer')) or die $sth->errstr; print header(-type => 'text/html'), start_html(-title => 'Auswahl'), h3('Ergebnis'), hr(), start_table() ; my @row = (); my $i = 1; while (@row=$sth->fetchrow_array()){ # HTML Tabellenzeile ausgeben print Tr( map { td($_) } @row ); my $rechnung = 'd:\\SGD\\Apache2\\htdocs\\rechnung'.$i.'.txt'; if ( open my $output, '>', $rechnung ) { # Ausgabe einer langen Liste ins Dateihandle $output print $output, "Rechnungsnummer:\tRE4711\tvom: $mday\.$mon\.$year\n\n\n", "Kundennummer: $row[0]\n\n", $row[3],"\n\n", $row[2],"\n\n", $row[1],"\n\n", "Telefonnummer: $row[4] \n\n\n\n\n", # $row[2]," ",$row[3],"\n" x 7, "-" x 34 ,"\n", "Rechnungsbetrag:\t","\n", "-" x 34 ,"\n\n", "Mit freundlichen Grüßen\nIhre Webfirma", ; close $output or die "$rechnung: $!\n"; } else { # Meldung, dass Oeffnen fehlgeschlagen warn "$rechnung: $!\n"; } $i++; } print end_table(), end_html(), ;
SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer =?";
SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer=Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer=?";
SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer=Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer='?'";
SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer=Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer LIKE '?'";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#! c:/perl/bin/perl -w
use strict;
use CGI qw(:standard);
#use CGI::Carp qw/fatalsToBrowser/;
use DBI;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time);
$mon++;
$year += 1900;
my $dbh = DBI->connect('DBI:ODBC:db1');
my $sqlstatement=qq§SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Tabelle1, Tabelle2 WHERE Tabelle2.Kundennummer ='1' AND Tabelle1.Kundennummer = Tabelle2.Kundennummer§;
my $sth = $dbh->prepare($sqlstatement);
$sth->execute (param('knr')) or die $sth->errstr;
print header(-type => 'text/html'),
start_html(-title => 'Auswahl'),
h3('Ergebnis'),
hr(),
start_table();
my @row = ();
my $i = 1;
while (@row=$sth->fetchrow_array()){
# HTML Tabellenzeile ausgeben
print Tr( map { td($_) } @row );
my $rechnung = 'd:\\SGD\\Apache2\\htdocs\\rechnung'.$i.'.txt';
if ( open my $output, '>', $rechnung ) {
# Ausgabe einer langen Liste ins Dateihandle $output
print $output,
"Rechnungsnummer:\tRE4711\tvom: $mday\.$mon\.$year\n\n\n",
"Kundennummer: $row[0]\n\n",
$row[3],"\n\n",
$row[2],"\n\n",
$row[1],"\n\n",
"Telefonnummer: $row[4] \n\n\n\n\n",
# $row[2]," ",$row[3],"\n" x 7,
"-" x 34 ,"\n",
"Rechnungsbetrag:\t","\n",
"-" x 34 ,"\n\n",
"Mit freundlichen Grüßen\nIhre Webfirma",
;
close $output or die "$rechnung: $!\n";
}
else {
# Meldung, dass Oeffnen fehlgeschlagen
warn "$rechnung: $!\n";
}
$i++;
}
print end_table(),
end_html(),;
my $dbh = DBI->connect(...) or die $DBI::errstr;
$dbh = DBI->connect('dbi:ODBC:driver=microsoft access driver (*.mdb);dbq=C:\dump9\Noordenwind.mdb');
SELECT Tabelle1.kundennummer, Tabelle2.rechnungsbetrag FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.kundennummer=Tabelle2.kundennummer WHERE Tabelle1.kundennummer=?