Thread Einträge in Datenbank loeschen (10 answers)
Opened by rooky at 2007-10-31 23:40

rooky
 2007-10-31 23:40
#101625 #101625
User since
2007-10-25
38 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen ich habe eine Datendank-Datei in der Einträge gelöscht werden müssen. Sie sieht so aus:


Code: (dl )
1
2
2;;Prof. Dr.-Ing.;;;;Name;;Fachhochschule Kiel;;Fachbereich Bauwesen;;;;;;Lorenz-von-Stein-Ring Haus-nr;;24340 Eckernf�de;;;;;;;;;;;;;;;;;;;;;;;;
3;;Prof. Dr.-Ing.;;Vorname;;Nachname;;ETH Zrich;;Institut fr Geotechnik;;;;;;H�ggerberg;;CH-8093 Zrich;;Tel-Nr.;;;;;;Tel-Nr.;;;;;;;;;;;;;;;;

Es wurde ein Skript geschrieben um in die Datenbank Daten einzutragen, zu aktualisieren, zu löschen etc. Die Funktion zum loeschen funtioniert aber nicht, wenn man den Namen einer Person eingibt, der geloescht werden muss passiert nichts, nur die Fehlermeldung
Code: (dl )
Die Datei konnte nicht geöffnet werden
wird angezeigt.

Hier die Funtion zum loeschen
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
read_input();

$field[0] = $query{'id'};
$field[1] = $query{'titel'};
$field[2] = $query{'vorname'};
$field[3] = $query{'name'};
$field[4] = $query{'firma'};
$field[5] = $query{'abteilung'};
$field[6] = $query{'kategorie'};
$field[7] = $query{'vermerke'};
$field[8] = $query{'dienststrasse'};
$field[9] = $query{'dienstort'};
$field[10] = $query{'dienst_tel_1'};
$field[11] = $query{'dienst_tel_2'};
$field[12] = $query{'dienst_mobiltel'};
$field[13] = $query{'dienst_fax'};
$field[14] = $query{'dienst_email'};
$field[15] = $query{'webseite'};
$field[16] = $query{'privat_strasse'};
$field[17] = $query{'privat_ort'};
$field[18] = $query{'privat_tel_1'};
$field[19] = $query{'privat_mobiltel'};
$field[20] = $query{'privat_fax'};
$field[21] = $query{'privat_email'};

#********************************************************************
# Tabellenkopf für die HTML-Ausgabe aller/der gefundenen Einträge
#********************************************************************

$table_head ="<TR BGCOLOR=\"silver\">\n"
        . "<TD NOWRAP>NR</TD>\n"
        . "<TD NOWRAP>TITEL</TD>\n"
        . "<TD NOWRAP>VORNAME</TD>\n"
        . "<TD NOWRAP>NAME</TD>\n"
        . "<TD NOWRAP>FIRMA/INSTITUT</TD>"
        . "<TD NOWRAP>ABTEILUNG</TD>\n"
        . "<TD NOWRAP>KATEGORIE</TD>\n"
        . "<TD NOWRAP>VERMERKE</TD>\n"
        . "<TD NOWRAP>STRASSE</TD>\n"
        . "<TD NOWRAP>ORT</TD>\n"
        . "<TD NOWRAP>TELEFON 1</TD>\n"
        . "<TD NOWRAP>TELEFON 2</TD>\n"
        . "<TD NOWRAP>MOBILTELEFON</TD>\n"
        . "<TD NOWRAP>FAX</TD>\n"
        . "<TD NOWRAP>EMAIL</TD>\n"
        . "<TD NOWRAP>WEBSEITE</TD>\n"
        . "<TD NOWRAP>STRASSE (privat)</TD>\n"
        . "<TD NOWRAP>ORT (privat)</TD>\n"
        . "<TD NOWRAP>TELEFON (privat)</TD>\n"
        . "<TD NOWRAP>MOBILTELEFON (privat)</TD>\n"
        . "<TD NOWRAP>FAX (privat)</TD>\n"
        . "<TD NOWRAP>EMAIL (privat)</TD>\n"
        . "</TR>\n";


sub del_entry_db # ( id )
{
        my $del_id = $_[0];

        open (DATEI, "<adress.db") ||
                die "Die Datei konnte nicht geöffnet werden!\n";
        my @datei = <DATEI>;
        close DATEI;

        open (DATEI, ">adress.db") ||
                die "Die Datei konnte nicht geöffnet werden!\n";

        foreach (@datei){
                chop;
                # extract id
                @entry = split(/;;/, $_);
                if( $entry[0] eq $del_id ) {
                }
                else {
                        print DATEI "$_\n";
                }
                #push @new, [$str];
        }

        close DATEI;
}
Kann einer von euch hier drin einen Fehler entdecken.

Danke im Voraus

P.S. Das ganze Skript steht zur Verfügung falls ihr alles braucht. Ziemlich lang aber

View full thread Einträge in Datenbank loeschen