?? fig15_22.pl
字號:
#!/usr/bin/perl
# Fig. 15.22: fig15_22.pl
# Program to update a record in the database.
use warnings;
use strict;
use DBI;
use DBD::ODBC;
my $dbh = DBI->connect( "dbi:ODBC:employeeDB", "", "",
{ RaiseError => 1 } );
print( "Enter the Employee ID number of the record ",
"you wish to change: " );
chomp( my $ID = <STDIN> );
print( "Which value would you like to change:\n" );
print( "1. Employee Identification. \n" );
print( "2. First name.\n" );
print( "3. Last name.\n" );
print( "4. Year of Birth.\n" );
print( "5. Social Security Number.\n" );
print( "? " );
chomp( my $change = <STDIN> );
my $field;
if ( $change == 1 ) {
$field = "EmployeeID";
print( "Enter the employee's new employee number: " );
}
elsif ( $change == 2 ) {
$field = "FirstName";
print( "Enter the employee's new First name: " );
}
elsif ( $change == 3 ) {
$field = "LastName";
print( "Enter the employee's new Last name: " );
}
elsif ( $change == 4 ) {
$field = "YearBorn";
print( "Enter the employee's new year of birth: " );
}
elsif ( $change == 5 ) {
$field = "SocialSecurity";
print( "Enter the employee's new social security number: " );
}
else {
print( "Invalid value.\n" );
return;
}
chomp( my $newvalue = <STDIN> );
my $query = "UPDATE employee SET $field = " .
" '$newvalue' WHERE EmployeeID = '$ID'";
print( "$query \n" );
$dbh->do( $query );
# Now print the updated database
my $sth = $dbh->prepare( q{ SELECT * FROM employee } );
$sth->execute();
print( "\n" );
my @array;
while ( @array = $sth->fetchrow_array() ) {
write();
}
# Clean up
warn( $DBI::errstr ) if $DBI::err;
$sth->finish();
$dbh->disconnect();
format STDOUT =
@<<<<<<@<<<<<<<<<@<<<<<<<<<<@<<<<<@<<<<<<<<<<<
$array[ 0 ], $array[ 1 ], $array[ 2 ], $array[ 3 ], $array[ 4 ]
.
###########################################################################
# (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall. #
# All Rights Reserved. #
# #
# DISCLAIMER: The authors and publisher of this book have used their #
# best efforts in preparing the book. These efforts include the #
# development, research, and testing of the theories and programs #
# to determine their effectiveness. The authors and publisher make #
# no warranty of any kind, expressed or implied, with regard to these #
# programs or to the documentation contained in these books. The authors #
# and publisher shall not be liable in any event for incidental or #
# consequential damages in connection with, or arising out of, the #
# furnishing, performance, or use of these programs. #
###########################################################################
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -