vinoth.ree has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks
Below is my code to execute any select Query and fetch data from database and return the fetched value. It will return only the values, Is it possible to take the column name? So that I can hold the column name and the corresponding value in a hash.
sub Select_Qry{ ($class,$dbaseh,$query)=@_; my($sth, $execu); if(!defined($query)){ $sth->finish(); $dbaseh->disconnect(); } if($dbaseh->ping){ $sth=$dbaseh->prepare("$query") or warn $file->log( + level => 'info', message => localtime() .": Can't prepare SQL state +ment:[$query] $DBI::errstr\n"); #Prepare the select query $execu =$sth->execute() or warn $file->log( level = +> 'info', message => localtime() .": Can't execute SQL statement:[$q +uery] $DBI::errstr\n"); #Execute the se +lect query if(!defined($execu)){ $file->log( level => 'info', message => local +time() .": Can't execute SQL statement:[$query] $DBI::errstr\n"); } else{ $file->log( level => 'info', message => local +time() .":SUCCESS:[$query]\n"); } while ( @arra = $sth->fetchrow_array ) { push (@Data_Array,@arra); } $file->log( level => 'info', message => localtime() +.": Fetched Data [@Data_Array]\n"); } else{ $file->log( level => 'info', message => loca +ltime() .": Reconnecting with Database by Ping function\n"); $dbaseh=&connection(); $file->log( level => 'info', message => loca +ltime() .": DataBase Get Connected Successfully.\n" ); $sth=$dbaseh->prepare("$query") or warn $file +->log( level => 'info', message => localtime() .": Can't prepare SQL + statement: $DBI::errstr[$query]\n"); #pre +pare the select query $execu=$sth->execute() or warn $file->log( le +vel => 'info', message => localtime() .": Can't execute SQL statemen +t: $DBI::errstr[$query]\n"); + #execute the select query if(!defined($execu)){ $file->log( level => 'info', message = +> localtime() .": Can't execute SQL statement:[$query] $DBI::errstr\ +n"); } else{ $file->log( level => 'info', message = +> localtime() .":SUCCESS:[$query]\n"); } while ( @arra = $sth->fetchrow_array ) + { push (@Data_Array,@arra); } $file->log( level => 'info', message = +> localtime() .": Fetched Data [@Data_Array]\n"); } $sth->finish(); $dbaseh->disconnect(); + #Disconnect the databa +se. return @Data_Array; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: DBI : Get Column name and Value in hash
by GrandFather (Saint) on Nov 27, 2009 at 08:10 UTC | |
by vinoth.ree (Monsignor) on Nov 27, 2009 at 08:19 UTC | |
Re: DBI : Get Column name and Value in hash
by stefbv (Curate) on Nov 27, 2009 at 08:03 UTC | |
Re: DBI : Get Column name and Value in hash
by Tux (Canon) on Nov 27, 2009 at 17:18 UTC | |
Re: DBI : Get Column name and Value in hash
by Anonymous Monk on Nov 27, 2009 at 07:58 UTC | |
by vinoth.ree (Monsignor) on Nov 27, 2009 at 08:15 UTC |
Back to
Seekers of Perl Wisdom