Here's a working example using Win32::ODBC using a generic SystemDSN called LIMS2. You can read the perldoc (type
perldoc Win32::ODBC on your command line) for a further explanation of the functions.
#!/usr/local/bin/perl -w
use strict;
use Win32::ODBC;
use CGI qw/:standard -debug/;
my $data = new Win32::ODBC("LIMS2") or die ODBC::Error();
if (!defined($data))
{
print "Unable to connect to LIMS DSN!";
exit;
}
my $IP = "unknown";
if (defined($ENV{'REMOTE_ADDR'}))
{
$IP = $ENV{'REMOTE_ADDR'};
}
my $sug = param('suggestion');
my $sqlstatement = qq(Insert into tblSuggestionBox (suggestion, IPAddr
+ess,TimeOfSuggestion) VALUES (\'$sug\',\'$IP\',Now()););
print "$sqlstatement\n";
$data->Sql($sqlstatement);
if(defined($data->Error()))
{
print $data->Error();
}
$data->Close();
my $data2 = new Win32::ODBC('LIMS2')||die ODBC::Error();
$data2->Sql("Select * from tblSuggestionBox");
print header, start_html, h1('Suggestions');
print "<table border\=\"1\">";
print Tr(td('Suggestion'), td('IPAddress'), td('Timestamp'));
while ($data2->FetchRow())
{
my %Ihash = $data2->DataHash();
print "<TR><TD width\=\"33%\">$Ihash{'suggestion'}</TD><TD wid
+th\=\"33%\">$Ihash{'IPAddress'}</TD><TD width\=\"33%\">$Ihash{'TimeOf
+Suggestion'}</TD></TR>\n";
}
print "</table>";
print end_html;
1;
For those of you who notice that I used CGI and then manually added table tags, I seemed to have a problem with the way CGI handles manually defined tags on different systems. This method is thus more portable for me.
Celebrate Intellectual Diversity