Thread Platzierung Pfadangabe bei DBD unklar
(18 answers)
Opened by geloescht at 2012-09-15 00:25
Abend zusammen
Hier das soweit angepasste Programm von topeg: Code (perl): (dl
)
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 #!/usr/bin/perl # sollte in keinem Script fehlen use strict; use warnings; # DBI Modul Laden use DBI; # Verzeichnis mit dem Script finden. # "." muss nicht immer das Verzeichnis mit dem Script sein use FindBin '$Bin'; # Sollte man machen. # es hilft die Dateinamen # von den Tabellennamen zu trennen. my %zuordnung=( prospects => { file => 'prospects.csv', col_names => ['Name', 'Address', 'Floors', 'Donated last year', 'Contact'], }, ); # Verbindung aufbauen my $dbh = DBI->connect("DBI:CSV:", undef, undef, { # Zeilenseparator csv_eol => "\x0A", # Spaltenseparator: csv_sep_char => ",", # Verzeichnis mit den Dateien f_dir => $Bin, # Zuordnung Dateiname -> Tabelle csv_tables => \%zuordnung, # bei Fehlern immer sterben: RaiseError => 1, } ) or die($DBI::errstr); # Testausgabe my $sth=$dbh->prepare('SELECT * FROM prospects'); $sth->execute(); while(my @row = $sth->fetchrow_array){ print join('; ',@row)."\n"; } $sth->finish; $sth = $dbh->prepare("SELECT * FROM prospects WHERE name LIKE 'G%'"); $sth->execute(); while (my $row = $sth->fetchrow_hashref){ print("name = $row->{Name} contact = $row->{Contact}". "\n"); } $sth->finish(); $dbh->disconnect(); Ich hab in Zeile 40 das foo durch prospects ersetzt. Zeile 47 versteh ich nicht ganz. Es scheint, dass nach Werten die ein "G" enthalten, gesucht wird. Code (perl): (dl
)
$sth = $dbh->prepare("SELECT * FROM prospects WHERE name LIKE 'G%'"); Ist "prospects" jetzt das File/Tabelle, oder der Name der Datenbank? Ist "name" der Name vom Spaltenkopf? Code (perl): (dl
)
1 2 3 while (my $row = $sth->fetchrow_hashref){ print("name = $row->{Name} contact = $row->{Contact}". "\n"); } Hier scheint irgendwas aus dem Ruder zu laufen. Ich hab die Printzeile mit "" und mit '' ausprobiert. Das Problem ist, dass ich nicht weiss, was "name = $row->{Name}" eigentlich macht. Hier stimmt irgend etwas nicht. Gruss HP-User Past brought us "SYS 64738". Present brought us "ctrl+alt+del". But what will future bring?
|