Perl - Conexión base de datos con 'WxPerl'

   
Vista:

Conexión base de datos con 'WxPerl'

Publicado por javier (1 intervención) el 14/08/2013 19:33:02
Estoy creando un listado de la base de datos en interfaz gráfica 'WxPerl'; mira mi código.

Sí me imprime en interfaz gráfica pero tengo varios registros y me aparecen subscritos (uno encima de otro). ¿Cómo podría hacer que haga el listado normal y no subscrito?

#!/usr/bin/perl -w
use warnings;
use strict;
use DBI;
use Wx;

package MyFrame;
use base 'Wx::Frame';

my $dbh = DBI->connect("DBI:Pg:dbname=pruebaperl;host=localhost", "javiandres","251093", {PrintError => 0, RaiseError => 1}) or die "ERROR al conectar con la base datos: $DBI::errstr\n";

# execute SELECT query
my $sth = $dbh->prepare("SELECT nombres, apellidos FROM personas");
$sth->execute();

sub new {
my $ref = shift;
my $self = $ref->SUPER::new( undef,-1,'LISTADO',[-1, -1],[200, 100],);
my $panel = Wx::Panel->new( $self,-1,);
my $etiqueta1 = Wx::StaticText->new( $panel,-1,'Nombres Apellidos',[10, 20],[-1, -1],);
while(my $ref = $sth->fetchrow_hashref()) {
my $etiqueta2 = Wx::StaticText->new( $panel,-1,"$ref->{'nombres'} $ref->{'apellidos'}\n",[10, 40],[-1, -1],);
}

return $self;
}

package MyApp;
use base 'Wx::App';
sub OnInit {
my $frame = MyFrame->new;
$frame->Show( 1 );
}

package main;
my $app = MyApp->new;
$app->MainLoop;

# clean up
$dbh->disconnect();
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder