por javiandres » 2013-08-14 11:24 @517
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();