- 论坛徽章:
- 0
|
sub do_input_entry{
# clk signal block
$pane = $mw -> Scrolled(Pane, Name => 'fred',-scrollbars => 'e',-sticky => 'we', -gridded => 'y');
#$pane -> xview($f_clk); // error,can't use this "CALL",why?
#$pane->yview(moveto => 1)
$pane->pack(-side => 'right', -fill => 'y');
$f_clk = $pane->Frame(-relief => 'groove', -borderwidth => 2)->pack(-side => 'top', -fill => 'x');
$f_clk -> Label(-text => '-CLK signal input:', -font => 'bold')
->grid('-', '-','-', '-', '-', '-', '-', $f_clk->Button(-text => " ++ ", -command => \&add_clk),
-sticky => 'w', -pady => 5
);
for($i = 1; $i <= $clk_num; $i++){
$f_clk -> Label(-text => 'signal name:')
->grid($entries[$ent_idx++] = $f_clk->Entry(-textvariable => \$clk_name[$i-1]),
$f_clk->Label(-text => 'width:'),
$entries[$ent_idx++] = $f_clk->Entry(-textvariable => \$clk_width[$i-1],-width => 3),
$f_clk->Label(-text => 'reset value:'),
$entries[$ent_idx++] = $f_clk->Entry(-textvariable => \$clk_reset_value[$i-1],-width => 3),
$f_clk->Label(-text => 'description:'),
$entries[$ent_idx++] = $f_clk->Entry(-textvariable => \$clk_description[$i-1], -width => 75),
-sticky => 'w', -padx => 2, -pady => 5
);
}
sub read_data_from_database {
@clk_name = ();
@clk_width = ();
@clk_reset_value = ();
@clk_description = ();
my ($dbh);
my ($sth,$sql);
# create a statement in $sth
$dbh=DBI->connect('dbi:mysql:mydatabase','root','123456',{PrintError=>0,RaiseError=>1});
#prepare the statement for node_tag_clock_input;
$sql="select signal_name,signal_width,signal_reset_value,signal_description from node_tag_clock_input";
$sth=$dbh->prepare($sql);
#execute the statement
$sth->execute or die $dbh->errstr;
while (my ($clk_name,$clk_width,$clk_reset_value,$clk_description)=$sth->fetchrow_array) {
@clk_name = (@clk_name , $clk_name);
@clk_width = (@clk_width , $clk_width);
@clk_reset_value = (@clk_reset_value , $clk_reset_value);
@clk_description = (@clk_description , $clk_description);
}
$sth->finish;
$dbh->disconnect;
}
print "huangruihua",@clk_name;
sub write_data_to_database {
my ($dbh,$sql,$sql2);
#create the database handle;
$dbh=DBI->connect('dbi:mysql:mydatabase','root','123456',{PrintError=>0,RaiseError=>1});
#prepare the sql for node_tag_clock_input;
$sql2="drop table node_tag_clock_input";
$sql3="create table node_tag_clock_input (signal_name varchar(200), signal_width varchar(3), signal_reset_value varchar(2), signal_description varchar(250))";
$dbh->do($sql2);
$dbh->do($sql3);
for (my $i=0;$i<=(@clk_name-1);$i++) {
$sql="insert into node_tag_clock_input (signal_name,signal_width,signal_reset_value,signal_description) values('$clk_name[$i]','$clk_width[$i]','$clk_reset_value[$i]','$clk_description[$i]')";
$dbh->do($sql);
}
$dbh->disconnect;
}
&read_data_from_database;
&do_input_entry(); |
|