Hello Frank,

Thanks for the great answer.  I'll be sure to try to understand those 
PerlRefs a little better.

Cheers.


At 11:31 AM 11/09/2002, Frank Wiles wrote:
>  .------[ Scott Taylor wrote (2002/09/11 at 11:07:21) ]------
>  |
>  |  Hello,
>  |
>  |  I have an SQL table with 2 fields, ID and Descr and I want to load these
>  |  into an array and a hash.
>  |
>  |  First the array @SecID should be just the first field and then the hash
>  |  %Sections should be ID=>Descr
>  |
>  |  All I get is garbage
>  |
>  |  This is the code that doesn't work, I know I'm missing something 
> here, but
>  |  not what:
>  |
>  |  $SQL = qq[Select * from T_Sec_ID];
>  |  $sth = $dbh->prepare($SQL);
>  |  $sth->execute;
>  |
>  |  my %Sections = $sth->fetchrow_hashref;
>  |  $sth->finish;
>  |
>  |  $SQL = qq[select secid from T_Sec_ID];
>  |  $sth = $dbh->prepare($SQL);
>  |  $sth->execute;
>  |
>  |  my @SecIDs = $sth->fetchrow_arrayref;
>  |  $sth->finish;
>  |
>  |  Here is the output, not what I want:
>  |  HASH(0x82c6388)
>  |  ARRAY(0x82c6370)
>  |
>  `-------------------------------------------------
>
>     There are two ways to do this the more advanced and the easy:
>
>     Easy way:
>
>     my %Sections;
>     my $sth = $dbh->prepare("SELECT ID, Descr FROM T_Sec_ID");
>     $sth->execute;
>
>     while( my($id, $desc) = $sth->fetchrow ) {
>         $Sections{$id} = $desc;
>     }
>     $sth->finish;
>
>     my @SecIDs = keys(%Sections);
>
>     You don't really need the Array as you can always call
>     keys(%Sections) and it will return the array you were trying to
>     build into @SecIDs. This will also remove the need to do two SQL
>     calls which isn't very efficient.
>
>     Advanced way using references:
>
>     my $section_ref;
>     my $sth = $dbh->prepare("SELECT ID, Descr FROM T_Sec_ID");
>     $sth->execute;
>
>     $section_ref = $sth->fetchrow_hashref;
>
>     my @SecIDS = keys( %{ $section_ref } );
>
>     You'll probably want to read up on Perl references in the perlref
>     man page.
>
>  ---------------------------------
>    Frank Wiles <[EMAIL PROTECTED]>
>    http://frank.wiles.org
>  ---------------------------------


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to