Thread Multidimensionales Array mit Daten aus Datenbank füllen. (13 answers)
Opened by lordsirkendorf at 2009-09-16 14:55

lordsirkendorf
 2009-09-28 14:54
#126289 #126289
User since
2009-09-16
7 Artikel
BenutzerIn
[default_avatar]
Hi,

konnte mich seit längerer Zeit mal wieder meinem Script zuwenden. Ich habe das mit den Multdimensionalen Arrays inzwischen über den Haufen geworfen und arbeite jetzt für einen Teil der Aufgabe mit den Spalten des Arrays und für den anderen Teil mit den Zeilen, die ich mir dann "zurechtstutze".

Ich möchte jetzt die Werte einer Spalte miteinander addieren (siehe Kommentare im Code).

Code: (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
#!/usr/bin/perl -w

use strict;
use DBI;

my $dbh = DBI->connect('DBI:Oracle:xxx', 'xxxxxx', 'xxxxx')
or die "Couldn't connect to database: " . DBI->errstr;

my $sth = $dbh->prepare("select TABLESPACE_NAME, FILE_NAME, BYTES, MAXBYTES from dba_data_files where FILE_NAME like '%sapdata2%' order by TABLESPACE_NAME")
or die "Couldn't prepare statement: " . $dbh->errstr;

my @data;

$sth->execute
or die "Couldn't execute statement: " . $sth->errstr;

###hier befülle ich das Array spaltenweise und überprüfe mit print, ob ich in der richtigen Spalte bin:

while (@data = $sth->fetchrow_array) {
print "$data[2]\n";
}

#hiermit möchte ich dann die einzelnen numerischen Werte aus der 3. Spalte des Arrays miteinander addieren. Als Ergebnis erhalte ich aber immer 0 und keine Fehlermeldungen:

my @column;
for my $line (@data)
{
push(@column, $line->[2]);
}

my $summ=0;
for my $line (@data)
{
$summ+=$line->[2];
}
print "$summ\n";


Was mache ich falsch?
Schonmal vielen Dank im Voraus!

View full thread Multidimensionales Array mit Daten aus Datenbank füllen.