Thread Buttons mit Daten von Datenbank belegen (18 answers)
Opened by 1860gelb at 2012-11-05 11:38

1860gelb
 2012-11-28 20:51
#163702 #163702
User since
2012-11-05
41 Artikel
BenutzerIn
[default_avatar]
Hallo,


habe noch eine Frage:

Habe eine Datei mit folgendem Inhalt:

IAV1/2
Maier Josef
Neubert Thomas
Graf Alexander
Boehm Christian
Graf Philip
Mueller Jan

EAV1/2
Hans Müller
Max Mustermann
Felix Baumgartner


und möchte über ein PerlScript mit diesem 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
37
38
39
40
41
42
43
44
45
#!usr/bin/perl

use strict;
use warnings;
use DBI;

my $i;


#-----------------DATENBANK-VERBINDUNG-----------------#


my $database = DBI::->connect("dbi:SQLite:dbname=datenbank.db","","")
or die "Fehler bei Datenbankverbindung!";

# Erzeuge Tabelle falls noch keine mit dem namen schueler existiert
my $sql = 'CREATE TABLE IF NOT EXISTS schueler (namen_id INTEGER,klasse CHAR(255), name CHAR(255))';
$database->do($sql)
or die $database->errstr;

#------------------DATEI-----------------------#
my $file;
open($file,'<', "./Namen") or die "Datei $file kann nicht geoeffnet werden! $!"; #Datei Öffnen
my @datei_inhalt;
@datei_inhalt=<$file>; #Inhalt von Datei in Array datei_inhalt speichern
close($file) or die "Datei $file kann nicht geschlossen werden!: $!";

# Insert vorbereiten
$sql = 'INSERT OR REPLACE INTO schueler (namen_id,klasse, name) VALUES (?, ?, ?)';
my $statement_handler = $database->prepare($sql)
or die $database->errstr;

foreach $i(0..$#datei_inhalt)
{
print "DEBUG: $i $datei_inhalt[$i]";
# Insert mit den Daten ausführen
$statement_handler->execute($i, $datei_inhalt[$i], $datei_inhalt[$i])
or die $database->errstr;
}
print "\n";
#------------------DATEI-ENDE--------------------#


$database->disconnect
or $database->errstr;


Ich möchte nun das aus der Datei die Klasse (IAV1/2) für die Namen Maier - Müller in die Datenbank geschrieben wird, zugleich sollten die Namen unter namen in die Datenbank eingetragen werden.
Dann kommt die nächste Klasse (EAV1/2) und da das gleiche.

Ich denke mir ist klar das ich es hier ändern muss.

Code: (dl )
$statement_handler->execute($i, $datei_inhalt[$i]\n, $datei_inhalt[$i])


Nur was ?
Hab die Dateien mal im Anhang angefügt.

danke ;)
Anhänge
text/plain
44 lines
import.pl
text/plain
6 lines
Namen

View full thread Buttons mit Daten von Datenbank belegen