亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fig15_23.pl

?? PERL語言資料 可以用于PERL程序設(shè)計
?? PL
字號:
#!perl
# Fig. 15.21: fig15_21.pl
# Demonstrates providing a web interface for a database.

use warnings;
use strict;
use DBI;
use DBD::ODBC;
use CGI qw( :standard );

my $DSN = "dbi:ODBC:employeeDB";

print header(), 
   start_html( { title => "Working with DBI",
      background => "http://localhost/images/background.jpg" } );

unless ( param ) {
   print h1( "Database Manager" ),
         start_form(),
         popup_menu( -name => 'selection',
                     -value => [ 'View the Database',
                                 'Insert a Record',
                                 'Delete a Record',
                                 'Update a Record' ] ),
         hidden( { -name => "LAST", -value => "MAIN" } ),
         br(), br(), br(), br(), br(),
         submit( -value => "Click to Proceed" ),
         end_form();
}
else {
   my $dbh = DBI->connect( $DSN, "", "", { RaiseError => 1 } );
   
   if ( param( "LAST" ) eq "MAIN" ) {
      my $selection = param( "selection" );
 
      view( $dbh ) if ( $selection eq "View the Database" );
      displayInsert() if ( $selection eq "Insert a Record" );
      displayDelete( $dbh ) if ( $selection eq "Delete a Record" );
      displayUpdate( $dbh ) if ( $selection eq "Update a Record" );
   }
   elsif ( param( "LAST" ) eq "INSERT" ) {
      insertRecord( $dbh );
      view( $dbh );
   }
   elsif ( param( "LAST" ) eq "DELETE" ) {
      deleteRecord( $dbh );
      view( $dbh );
   }
   elsif ( param( "LAST" ) eq "UPDATE1" ) {
      updateRecordForm( $dbh );
   }
   elsif ( param( "LAST" ) eq "UPDATE2" ) {
      updateRecord( $dbh );
      view( $dbh );
   }
   $dbh->disconnect();
}

print end_html();

sub view 
{
   my $dbh = shift(); 
   
   my $sth = $dbh->prepare( 
      "SELECT * FROM employee ORDER BY EmployeeID ASC" );
   $sth->execute();
   
   my $rows = $sth->fetchall_arrayref();
   $sth->finish();
   
   my $tablerows = 
      Tr( th( { -bgcolor => "#dddddd", -align=>'left' }, 
              [ "ID", "First", "Last"] ),
          th( { -bgcolor => "#dddddd" }, [ "YOB", "SSN" ] ) );
          
   foreach my $row ( @$rows ) {
      $tablerows .= Tr( td( { -bgcolor => "#dddddd" }, $row ) );
   }
   
   print h1( "Employee Database" ),
         table( { -border => 0, -cellpadding => 5, 
                  -cellspacing => 0 }, $tablerows ),
         br(), br(),
         "Your query yielded ", b( scalar( @$rows ) ), 
         " records.",br(), br(),
         a( { -href => "/cgi-bin/fig15_23.pl" }, 
            "Back to the Main Database Page" );
}
      
sub displayInsert 
{
   print h3( "Add a new employee to the database." ), br(),
         start_form(),
            "Employee ID", br(), 
            textfield( -name => 'ID' ), br(),
            "First Name", br(), 
            textfield( -name => 'FIRST' ), br(),
            "Last Name", br(), 
            textfield( -name => 'LASTNAME' ), br(),
            "Year of Birth", br, 
            textfield( -name => 'YEAR' ), br(), 
            "Social Security Number", br(), 
            textfield( -name => 'SSN' ),
            hidden( { -name => "LAST", -value => "INSERT",
                      -override => "1" } ),
            br(), br(), submit( -value => "Add New Employee" ), 
         end_form(), br(), br(),
         a( { -href => "/cgi-bin/fig15_23.pl" }, 
            "Back to the Main Database Page" );
}

sub displayDelete
{
   my $dbh = shift();
   
   my $sth = $dbh->prepare(  
      "SELECT EmployeeID, FirstName, LastName FROM employee " );
   
   $sth->execute();
   
   my ( %names, @ids );

   while ( my @row = $sth->fetchrow_array ) {
      push( @ids, $row[ 0 ] );
      $names{ $row[ 0 ] } = join( " ", @row[ 1, 2 ] );
   }

   $sth->finish;
   
   print h3( "Delete an employee from the database" ), br(),
      start_form(),
         "Select an Employee to delete ",
         popup_menu( -name => 'DELETE_ID', 
                     -value => \@ids, 
                     -labels => \%names ), br(), br(), br(),
         hidden( { -name => "LAST", -value => "DELETE", 
                   -override => 1 } ),
         submit( -value => "Delete a Record" ), br(), br(),
      end_form(), 
      font( { -color => "red" }, 
            "This action removes the record permanently." ),
      br(), br(), a( { -href => "/cgi-bin/fig15_23.pl" }, 
                     "Back to the Main Database Page" );
}
      
sub displayUpdate
{
   my $dbh = shift();
   
   my $sth = $dbh->prepare(  
      "SELECT EmployeeID, FirstName, LastName FROM employee " );
   
   $sth->execute();
   
   my ( %names, @ids );

   while ( my @row = $sth->fetchrow_array ) {
      push( @ids, $row[ 0 ] );
      $names{ $row[ 0 ] } = join( " ", @row[ 1, 2 ] );
   }

   $sth->finish;
   
   print h3( "Update an employee in the database" ), br(),
      start_form(),
         "Select an Employee to update ",
         popup_menu( -name => 'UPDATE_ID', 
                     -value => \@ids, 
                     -labels => \%names ), br(), br(), br(),
         hidden( { -name => "LAST", -value => "UPDATE1", 
                   -override => 1 } ), 
         submit( -value => "Update a Record" ), br(), br(),
      end_form(), 
      a( { -href => "/cgi-bin/fig15_23.pl" }, 
         "Back to the Main Database Page" );
}

sub updateRecordForm 
{
   my $dbh = shift();   
   my $statement = "SELECT * FROM employee " .
                   "WHERE EmployeeID = '" . 
                   param( 'UPDATE_ID' ) . "'";
   my $sth = $dbh->prepare( $statement );

   $sth->execute();
   
   my @values = $sth->fetchrow_array;
   my @names = ( "", "First Name ", "Last Name ", "Year Born ",
                 "Social Security Number " );
   $sth->finish();
   
   print h3( "Updating the record for employee #$values[ 0 ]." ),
         br(), br(),
         start_form(),
            "@values\n", br(),
            hidden( { -name => '0', -value => $values[ 0 ] } );
  
   foreach ( 1 .. 4 ) {
      print $names[$_], br(),
            textfield( -name=>$_, -value => $values[ $_ ], 
                       -override => 1 ), br();
   }
   
   print submit( -value => "Update the Record" ),
         hidden( { -name => "LAST", -value => "UPDATE2", 
                   -override => 1 } ),
         end_form(),
       a( { -href => "/cgi-bin/fig15_23.pl" }, 
          "Back to the Main Database Page" );
}

sub insertRecord
{
   my $dbh = shift();
   my ( $id, $first, $last, $year, $ssn ) = 
      ( param( 'ID' ), param( 'FIRST' ), param( 'LASTNAME' ),
        param( 'YEAR' ), param( 'SSN' ) );    
   my $string = "INSERT INTO employee VALUES 
        ( '$id', '$first', '$last', '$year', '$ssn' );";
  
   $dbh->do( $string );
}

sub deleteRecord 
{
   my $dbh = shift();
   my $string = "DELETE FROM employee ".
                "WHERE EmployeeID = '" . 
                param( 'DELETE_ID' ) . "'";
   
   $dbh->do( $string );
   print "Employee #", param( 'DELETE_ID' ), 
         " deleted.", br(), br();
}

sub updateRecord
{
   my $dbh = shift();
   my ( $id, $first, $last, $year, $ssn ) = 
      ( param( '0' ), param( '1' ), param( '2' ), 
        param( '3' ), param( '4' ) );
   my $string = "UPDATE employee SET FirstName = '$first', " .
                "LastName = '$last', YearBorn = '$year', " .
                "SocialSecurity = '$ssn' " .
                "WHERE EmployeeID = '$id'";
   
   $dbh->do( $string );
}                   


###########################################################################
#  (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.                     #
###########################################################################

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区在线播放| 91国在线观看| 国产一区高清在线| 麻豆精品在线播放| 日韩av二区在线播放| 日韩电影在线免费看| 午夜精品久久久久久久99樱桃| 亚洲综合一区二区| 亚洲一区二区三区四区在线观看 | 一本色道a无线码一区v| 成人涩涩免费视频| 不卡一区二区三区四区| 91免费在线播放| 日本韩国欧美三级| 欧美在线一区二区三区| 欧美日韩精品一区二区三区四区| 欧美日韩精品二区第二页| 在线电影欧美成精品| 欧美一区二区高清| 精品日韩一区二区三区| 久久精品一区二区三区不卡牛牛 | 亚洲欧洲国产专区| 亚洲人成网站在线| 亚洲成年人网站在线观看| 日本欧美韩国一区三区| 狠狠狠色丁香婷婷综合激情| 大陆成人av片| 在线亚洲高清视频| 日韩视频在线你懂得| 欧美国产日韩在线观看| 日韩毛片高清在线播放| 亚洲一区二区三区视频在线 | 亚洲1区2区3区视频| 日韩精品电影一区亚洲| 国产美女精品人人做人人爽 | 2021久久国产精品不只是精品| 久久久精品免费网站| 亚洲日本在线天堂| 丝袜脚交一区二区| 国产99久久久国产精品潘金| 一本到高清视频免费精品| 91精品福利在线一区二区三区| 久久久久一区二区三区四区| 亚洲欧美激情小说另类| 日本成人中文字幕| a美女胸又www黄视频久久| 欧美精选午夜久久久乱码6080| 精品久久一二三区| 一区二区三区在线视频观看 | 色哟哟精品一区| 日韩一区二区在线免费观看| 中文字幕欧美激情| 日本午夜一本久久久综合| 成人免费视频免费观看| 制服丝袜亚洲网站| 国产精品对白交换视频 | 91麻豆精品国产综合久久久久久| 久久久国际精品| 亚洲va国产va欧美va观看| 成人av中文字幕| 日韩视频中午一区| 一区二区三区四区亚洲| 国产精品影视天天线| 欧美精品一二三四| 综合网在线视频| 国产一区二区三区四| 在线电影院国产精品| 亚洲柠檬福利资源导航| 国产一区二区三区最好精华液| 欧美日韩在线播放三区| 一区精品在线播放| 国产一区免费电影| 日韩一级在线观看| 亚洲五月六月丁香激情| 成人精品国产一区二区4080| 精品国产免费视频| 强制捆绑调教一区二区| 欧美日韩视频在线一区二区| 椎名由奈av一区二区三区| 国产精品99久久久| 精品国一区二区三区| 日韩中文欧美在线| 欧美日韩中文字幕精品| 亚洲精品视频一区二区| 成人蜜臀av电影| 欧美国产精品一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 日韩视频一区二区三区在线播放| 亚洲一区二区不卡免费| 91行情网站电视在线观看高清版| 国产精品久久毛片av大全日韩| 国产成人精品www牛牛影视| 久久众筹精品私拍模特| 久久国产免费看| 日韩一卡二卡三卡国产欧美| 日韩电影免费在线看| 555夜色666亚洲国产免| 天天影视网天天综合色在线播放 | 国产精品视频免费看| 国产剧情av麻豆香蕉精品| 欧美成人三级在线| 另类小说综合欧美亚洲| 日韩免费看的电影| 久久99热国产| 久久免费精品国产久精品久久久久| 韩国精品一区二区| 精品国产乱码久久久久久久久| 日韩av中文字幕一区二区| 777xxx欧美| 热久久一区二区| 精品国产乱码久久久久久久 | 在线观看欧美精品| 有坂深雪av一区二区精品| 91丨九色porny丨蝌蚪| 亚洲男女毛片无遮挡| 在线观看欧美黄色| 丝袜美腿高跟呻吟高潮一区| 日韩写真欧美这视频| 韩国理伦片一区二区三区在线播放 | 欧美一区二区美女| 美国十次综合导航| 久久蜜桃av一区精品变态类天堂 | 亚洲欧美一区二区三区久本道91| 91麻豆swag| 性欧美疯狂xxxxbbbb| 欧美一级精品在线| 国产九色精品成人porny | 美女视频黄 久久| 国产亚洲1区2区3区| 91伊人久久大香线蕉| 亚洲国产成人av网| 精品国产第一区二区三区观看体验| 国产麻豆精品久久一二三| 中文字幕av一区 二区| 欧美天堂一区二区三区| 日本不卡的三区四区五区| www精品美女久久久tv| 成人美女在线观看| 亚洲成av人**亚洲成av**| 日韩写真欧美这视频| 波多野结衣中文字幕一区二区三区| 亚洲黄色免费网站| 久久在线观看免费| 91免费看片在线观看| 首页国产欧美久久| 日本一区二区三区在线不卡| 91在线免费视频观看| 免费成人美女在线观看.| 国产精品国产三级国产普通话蜜臀| 欧美日韩成人综合天天影院| 激情久久五月天| 一区二区三区不卡在线观看| 久久综合给合久久狠狠狠97色69| 色综合一个色综合| 国产中文字幕一区| 亚洲bt欧美bt精品777| 欧美激情一二三区| 91精品国产色综合久久| 99久久国产综合精品色伊| 久久福利视频一区二区| 亚洲免费av在线| 久久久噜噜噜久噜久久综合| 欧美日韩国产中文| 成人激情免费视频| 另类欧美日韩国产在线| 一区二区三区久久| 欧美国产丝袜视频| 欧美mv日韩mv| 欧美日韩日日夜夜| av在线播放不卡| 久久99最新地址| 亚洲成人777| 亚洲激情六月丁香| 国产免费成人在线视频| 欧美xxx久久| 欧美日韩电影在线| 91福利在线观看| 99久久国产综合精品女不卡| 国内精品视频666| 日韩av电影免费观看高清完整版 | 日韩欧美电影在线| 欧美日韩国产美| 91激情五月电影| 北条麻妃一区二区三区| 国产精品夜夜嗨| 久久精品国产77777蜜臀| 午夜精品福利视频网站| 玉米视频成人免费看| 亚洲欧美日韩国产成人精品影院| 国产片一区二区| 国产亚洲va综合人人澡精品 | 日韩av一区二区三区| 一个色在线综合| 亚洲欧美经典视频| 亚洲天堂a在线| 亚洲女同一区二区| 亚洲特黄一级片| 中文字幕在线不卡视频| 国产精品丝袜在线| 欧美国产激情二区三区|