#!c:\Perl\Perl5.00402\bin\perl.exe
use DBI;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
$dbName = "MyCompany";
$dbDriver = "ODBC";
$dbUserName = "";
$dbPassword = "";
$dataIn = new CGI;
$dataIn->header();
$requestType = $dataIn->param('requestType');
$sql = $dataIn->param('sql');
if ($sql eq "")
{
&printSearchForm();
exit;
}
else
{
$dbh = &connectToDB();
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
if ($sql =~ /^SELECT/i)
{
print qq!
SQL Statement results
!;
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
print qq!!;
foreach $column (@$columnReference)
{
print qq!| $column | \n!;
}
print qq!
!;
}
}
print qq!
!;
exit;
}
else
{
print "Your SQL Query has been processed, please hit the back button and submit a SELECT to see the changes!";
}
}
sub connectToDB
{
return (DBI->connect($dbName, $dbUserName, $dbPassword, $dbDriver));
}
sub executeSQLStatement
{
my ($sql) = shift;
$dataObject = $dbh->prepare($sql);
$dataObject->execute();
return $dataObject;
}
sub getDBRows
{
my ($dataObject) = shift;
return $dataObject->fetchall_arrayref();
}
sub printSearchForm
{
print qq!
Enter SQL
!;
}