Thread Programm am ende wiederholen
(14 answers)
Opened by SCORRPiO at 2014-02-17 17:01
Oh danke werde ich damit mal ausenander setzten.
Die Syntax fehler kammen duch kürzen zu stande... hier mal die ungekürtze version (war eh sinlos zu kürzen): 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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 #! /usr/bin/perl use strict; use feature qw(switch say); use DBI; use Term::ReadKey; binmode(STDOUT, ":utf8"); #für umlaute ;) my $db_user = 'user'; my $db_name = 'client'; my $db_pass = 'test1234'; my $table = 'rechner'; my $clear = "\033[2J \033[0;0H"; #clear the screen && #jump to 0,0 #~ print "Bitte den mySQL Benutzer Namen angeben: "; #~ my $db_user = <STDIN>; #~ chomp $db_user; #~ print "Bitte den mySQL Benutzer Passwort angeben: "; #~ ReadMode 'noecho'; #~ #my $db_pass = <STDIN>; #~ my $db_pass = ReadLine 0; #~ chomp $db_pass; #~ ReadMode 'normal'; #~ print "\nDatenbank: "; #~ my $db_name = <STDIN>; #~ chomp $db_name; #~ print "Tabelle: "; #~ my $table = <STDIN>; #~ chomp $table; my $dbh = DBI -> connect("DBI:mysql:database=$db_name", $db_user, $db_pass); while (1) { print $clear; print "\t\t\t Datanbank Verwaltung\n\n"; print "Sie sind mit der Datenbank ''$db_name'' verbunden und die Tabelle. \nWas möchten Sie tun?"; print " 1. Tabelle anzeigen 2. Daten eintragen 3. Daten ändern 4. Daten löschen 6. Neue Tabelle anlegen 7. Tabelle wechseln (test) 8. Datenbank wechseln (test)\n 9. Programm beenden. "; my $eingabe = <STDIN>; chomp $eingabe; print "$clear Datenbank: $db_name \nTabelle:"; ## 1 Tabelle anzeigen given ($eingabe) { when(1) { print "Ihre eingabe: $eingabe"; my $query_test = $dbh->prepare(<<SLCT); SELECT * FROM $table SLCT $query_test->execute() or die $query_test->err_str; print "\n"; print " +---------------+--------------+\n"; print " | name | ip |\n"; print " +---------------+--------------+\n"; while (my ($col_1, $col_2,$col_3) = $query_test->fetchrow_array() ) { print "\t| $col_1 \t| $col_2 |\n"; } print "\t+---------------+--------------+\n"; my $pause = <STDIN>; # unschön aber macht was es soll ;D # last; } ##2 Daten Eintragen ##3 Daten ändern ##4 Daten löschen ##6 Neue Tabelle anlegen when(6) { #if ($eingabe == 6){ print "Neue Tabelle erstellen"; print "\n\n Wie soll Ihre neue Tabelle heißen: "; my $new_table = <STDIN>; chomp $new_table; print "\nBitte bennen sie die einzelne Spalten nach folgendem Muster: Name VARCAR(20) <Spaltenname> <Wert>"; my @spalten; my $query_test = $dbh->prepare(<<CRTE); CREATE TABLE $new_table ( @spalten) CRTE $query_test->execute() or die $query_test->err_str; print "Ihre neue Tabelle lautet $new_table \n Tabelle verwenden? (ja/nein)"; my $choise = <STDIN>; if ($choise == 'ja'){ $table = $new_table; }; print "\n"; } ##7 Tabelle wechseln ##8 Datenbank wechseln ##9 Beenden when(9) { exit(2); $dbh ->disconnect(); } default { warn "Wert $_ ausserhalb des Bereichs 0 bis 11" } } #/give #/while } PS: Ist nur ein Übungsprogramm und hat keinen genauen Hintergrund Last edited: 2014-02-18 16:19:47 +0100 (CET) Linux User || Perl 5.14
|