There are a couple of ways. One is simply to take the results and write them to the widget (I'm assuming you have either a Text or a ROText object). For example:
use strict; use warnings; use Tk; my $sql = ""; my $mw = new MainWindow; my $top = $mw->Frame()->pack(-expand => 1, -fill => "both"); my $f1 = $top->Frame()->pack(-expand => 1, -fill => "x"); my $f2 = $top->Frame()->pack(-expand => 1, -fill => "both"); $f1->Label(-text => "SQL Statement")->pack(-side => "left"); $f1->Entry(-textvar => \$sql, -width => 64)->pack(-side => "left"); $f1->Button(-text => "SQL", -command => \&submit)->pack(-side => "righ +t"); my $output = $mw->Text()->pack(-expand => 1, -fill => "both"); MainLoop(); sub submit { # Here, insert the code for submitting the query using $sql... my $results = ... $output->insert("end", $results); $output->see("end"); $mw->update();
The above code does everything except submitting the query in $sql to the SQL database (you'll need to fill that in where it says my $results = ...).
Another way is to investigate the tied interface to a Tk::Text widget. You can read about that either in your local ActiveState documentation, or at ActiveState's website (http://www.activestate.com), in the section about the Text widget; specifically the section titled Tied Interface, which says:
TIED INTERFACE The Perl/Tk Text widget also has built-in TIEHANDLE methods for print and printf statements. This means you can print to file handles tied to a Text widget, and the tied methods automatically insert the print statement's arguments into the Text widget. For example: #!/usr/local/bin/perl -w use POSIX 'acos'; use Tk; use strict; my $mw = MainWindow->new; my $text = $mw->Text(qw/-width 40 -height 10/)->pack; tie *STDOUT, ref $text, $text; print "Hello Text World!\n"; printf "pi ~= %1.5f", acos(-1.0); MainLoop;
In reply to Re: SQL Server 2003 output to Tk/Perl window
by liverpole
in thread SQL Server 2003 output to Tk/Perl window
by Red_Dragon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |