www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

db-dodemo.pl
#!/usr/local/bin/perl -w
# db-dodemo.pl -- Zeigt einige do()-SQL-Befehle an eine Datenbank.

use Getopt::Std;          # -v auf der Kommandozeile triggert $opt_v
use vars qw($opt_v);      # und schaltet dann DEBUG-Meldungen ein
getopts("v");             # (siehe unten).

use DBI;

# Einloggen:
$dbh = DBI->connect("DBI:mysql:mydbase", "manager", "mgrpass");
die "Error: $DBI::errstr\n" unless $dbh;

# Einige Kunden in die 'kunden'-Tabelle eintragen:
while (<DATA>) {
    # SQL-Befehl vorbereiten:
    chomp;
    @custs = split(/;/);
    $sql = "INSERT INTO kunden VALUES (" .
    join(',', map { "'$_'" } @custs) .
        ")\n";
    print $sql if $opt_v;     # DEBUGGING

    # SQL-Befehl zum Datenbankserver senden und ausfuehren lassen:
    $dbh->do($sql);

    # Rueckgabecode pruefen!
    warn "Error: $DBI::errstr\n" if $DBI::err;
}

# Eine Tabelle anlegen:
$sql = <<EOSQL;
CREATE TABLE mytable (
    dummy1 char(5) primary key,
    dummy2 char(10),
    dummy3 integer
)
EOSQL
$dbh->do($sql);
warn "Error: $DBI::errstr\n" if $DBI::err;

# Zeigen, dass es sie auch wirklich gibt:
system("mysqlshow --user=manager --password=mgrpass mydbase mytable");

# Und nun loeschen wir die Tabelle wieder:
$dbh->do("DROP TABLE mytable");
warn "Error: $DBI::errstr\n" if $DBI::err;

# Okay, das war's
$dbh->disconnect();

__DATA__
0;gandhi;mahatma;000.111.222;vor dem ganges 112;55555;
0;einstein;albert;111.232.332;relativer weg emc2;29979;
0;minski;marvin;989.127.661;cs blvd. 42;42424;
0;stein;samuel;321.543.876;kleiner bach 32;54321;
0;adams;michaela;000.123.231;musterstrasse 91;50000;
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:55:55 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo