Thread Skript zum Durchlauf (5 answers)
Opened by Philip at 2010-07-08 11:24

payx
 2010-07-08 14:20
#139685 #139685
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Guest Philip
Also wenn ich alles richtig verstanden habe, habe ich in $data alle Spaltenwerte und kann diese auslesen und direkt verändern (in der Datenbank). Wie genau kann ich denn den Wert auslesen und verändern?

Hallo Philip,

$data ist in topegs Beispiel eine Referenz auf ein Array, das jeweils eine Datenbankzeile enthält. In der while-Schleife werden so alle Treffer in der Reihenfolge durchlaufen, in der sie das RDBMS geliefert hat. Den Inhalt der ersten Spalte bekommst Du z.B. mit $data->[0].

Daten verändern kannst Du aber mit diesem Vorgehen allein noch nicht. Dazu musst Du ein Update-Statement erzeugen und mit einem eigenen Statement-Handle absetzen, z.B.:

Code (perl): (dl )
1
2
3
my $sthdml = $dbh->prepare('update vicidial_agent_log_temp set user_alt=? where user=?');
$sthdml->execute($user_alt, $user);
$sthdml->finish;


Guest Philip
Wie kann ich aber nun z.B. zum Datensatz zuvor springen (VBA: rst.moveprevious)

Mit selectall_arrayref kannst Du generell auch das ganze Recordset in den Arbeitsspeicher laden (falls Du sicher bist, dass es hineinpasst), dann kannst Du innerhalb der verschachtelten Struktur direkt lesend auf alle Datensätze zugreifen. Besser ist es vielleicht, bestimmte Werte aus einem Datensatz in einer Variable zwischenzuspeichern, die bei der Auswertung des nächsten Datensatzes noch zur Verfügung steht.

Auf jeden Fall wirst Du Dir die Dokumentation zum DBI-Modul vorknöpfen müssen. Es lohnt sich!

HTH
payx

View full thread Skript zum Durchlauf