Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Konstantin Tokar                     2:5020/400     23 Jun 2000  17:06:09
 To : All
 Subject : Re: Oraperl, сссобака !
 -------------------------------------------------------------------------------- 
 
 > Опишите вкратце процедуру подачи SELECT запроса и получения результата.
 > Hа perldoc DBD::Oracle уже был, понятно не все. Hапример непонятно что
 > fetchrow_array возвращает. По доке вроде должна возвращаться строка из БД, а
 > на самом деле возвращает ссылку на что-то...
 > 
 Посмотри документацию на DBI.
 
 fetchrow_array возвращает (по доке и в реальности) ссылку на массив. 
 
 Вот пример fetchrow_array и $sth->fetchrow_hashref:
 
 =item Select_Hash
 
 Этот запрос настолько частый, что имеет смысл написать функцию для
 возвращения
 хэша, содержащего результат - если одно из полей уникально:
  
 указываем SQL запрос, возвращающий два столбца, или указываем явно имена
 переменных,
 из которых конструируем хэш.
 ../test/test2.pl
 
 =cut
 
 sub Select_Hash {
  my ($dbh, $query, $varname1, $varname2) = @_;
  my %h;
  local $_;
  my $sth = $dbh->prepare($query);
 
  $sth->execute();
 
  if (!$sth) {  die "Error:" . $dbh->errstr . "\n"; }
 
  if ( defined $varname1 && defined $varname2 ){
   while (my $row = $sth->fetchrow_hashref()) {
   $h{$row->{$varname1}} =
 
 $row->{$varname2};                                                              
 $row->
 
   }
  }
  else {
   my $row;
   while ( $row = $sth->fetchrow_arrayref()) {
    $h{$$row[0]} =
 $$row[1];                                                                       
 
   }
  } 
  return \%h;
 }
 -- 
 Konstantin Tokar (http://www.mpei.ac.ru/tokar)
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Oraperl, сссобака !   Konstantin Tokar   23 Jun 2000 17:06:09 
 Re: Oraperl, сссобака !   Alex Lazarev   26 Jun 2000 16:43:17 
Архивное /ru.perl/1277061216d90.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional